Mailinglisten-Archive |
Manuel Jenne wrote: > eine Frage zu Templates und zwar eher organisatorisch als technisch. ... wäre trotzdem interssant zu wissen, ob Du gerade templates neu erfindest oder ein Problem mit einer konkreten Template-Implementierung hast :) > Ich habe folgenden Seitenaufbau: > > > index.php > +-----------------------------------+ > | menu menu menu menue | > | | > | submenu | > | submenu +-----------------+ | > | submenu | snippet | | > | submenu | | | > | submenu | | | > | +-----------------+ | > | footer | > +-----------------------------------+ Was, kein snippet im snippet mehr? ;-) > In index.php wird die Seite zusammengestrickt, d.h. das Menu wird generiert, > das Submenu, headline und footer werden geschrieben. Der Code ist IMMER für > alle Seiten gleich. Das kann ich mit Templates gut lösen. Unterschiede > gibt's dann in dem Teil "snippets". Da gibt's mal Tabellen, mal DB-Zugriff, > mal nur HTML-Code. Du kannst z.B. in der index.php je nach Bedarf die Daten für alle "Snippets" ermitteln und schön in arrays verpacken. Dein Snippet ist dann nur noch ein Template im Template. Mit smarty steht dann in Deinem index.tpl-Template z.B.: {if $snippet eq "supersnippet1"} {include file=supersnippet1.tpl} {/if} --> ja, da ist ein wenig Logik im Template nötig... > Bisher (ohne Templates) habe ich diese Snippets immer mit include() geladen. > Die konnten dann PHP-Code enthalten und/oder HTML. Mit Templates macht das > ja kein Sinn (Trennung Design/Progr.). Du kannst den Code, der Dir die Daten fürs Sub-Template liefert auch erst mit/vor dem Template einbinden. Dann steht (bei smarty) in der index.tpl: {if $snippet eq "supersnippet1"} {include_php file="inc/supersnippet1.inc"} {/if} Der Aufruf des Templates erfolgt dann in "supersnippet1.inc" mit $this->display('supersnippet1.tpl'); Am besten Du probierts mal selbst ein wenig rum. Bin auch noch dabei herauszufinden, wie man das am besten organisiert. ThS. -- Dipl. Ing. Thomas Schulz 4bconsult - Beratung für die Baubranche http://4bconsult.de
php::bar PHP Wiki - Listenarchive