phpbar.de logo

Mailinglisten-Archive

[php] Templates (welche?) und Template-Verschachtelung

[php] Templates (welche?) und Template-Verschachtelung

Tobias php_(at)_phpcenter.de
Sat, 7 Apr 2001 22:12:26 +0200


hi

kleine hilfestellung wenn du die FastTemplate nutzt:

$tpl = new FastTemplate("templates/");

$tpl -> define (array (grundlayout -> "t_main.html",
                              topbar       -> "top.html",
                              main1        -> "main_userbereich.html",
                              main2        -> "main_irgendwas.html",
                              footer       -> "mein_footer.html",
                              Navbar      -> "navigation.html"
                            ));

$tpl -> parse (NAVBAR, "Navbar"); // die Navigation.html wird der {NAVBAR}
zugewiesen
$tpl -> parse (FOOTER, "footer");
$tpl -> parse (PAGETITLE, "mein Pagetitel . . .");
 // jetzt auswahl welche Main zur auswahl kommt .....
$tpl -> parse (MAIN , "main2");

$tpl -> parse(out ,"grundlayout");
$tpl -> FAstPrint(out);



cu
tobias
www.traffic-eye.de

~~~~~~~~~~~~~~~~~~~~~~

Folgendes: Das Grundlayout wird mit einer Template "t_main.html" definiert.
Diese besteht aus einem riesen table-Konstrukt, welches verschiedene Felder
beinhaltet (top, navbar, main). Die Datei sieht etwa so aus:

 // html-header, u.a. <title>{PAGETITLE}</title>
 <table width=100% height=100% border=0><tr><td>

  <table width=200><tr><td>
   {NAVBAR}
  </tr></td></table>

 </td><td>

  <table><tr><td>
   {TOP}
  </td></tr><tr><td>
   {MAIN}
  </td></tr></table>

 </td></tr></table>
 // html-footer

Diese Struktur ist immer die gleiche (bis auf Seitentitel usw). Ich möchte
jetzt NAVBAR, TOP, MAIN - je nach dem wo der Benutzer sich gerade befindet
- ausgehend von _verschiedenen_ Templates füllen, (z.B.
t_navbar_forum.html), die natürlich aber auch vom template-engine
interpretiert werden sollen.


Bisher habe ich kein funktionierendes Beispiel gefunden, was das erreicht.
Die Idee im Augenblick ist es, alle Teile als Klasse zu realisieren und
dann beim Aufruf der Seite mit den entspr. Werten zu initialisieren und
sowas wie

 $templ->set_vars("NAVBAR" => $navbar->render());

für alle drei "Parts" zu benutzen. Aber irgendwie scheint mir der
Template-Engine besser geeignet?



php::bar PHP Wiki   -   Listenarchive