Tritium: Smarty -> How to

Hi,
also ich arbeite jetzt schon seit einiger Zeit mit Smarty, klapp auch alles super. Doch ich stolpere immer wieder über die Frage, wie ich am besten mit den Templates arbeite. Denn ich benutze Smarty unter anderem deswegen, damit ich nicht für jede Site nen eigenes script habe, wo ich jedes mal, wenn ich etwas verändere, in x-anderen Dateien das gleiche reinschreiben muss (is ja logisch). Ist auch einfach zu handhaben, wenn ich eine Hauptseite habe, auf der dann meinetwegen (jezz mal ganz grob) nur Blogeinträge angezeigt werden.
Aber was mache ich jetzt, wenn dieser Blog nicht die einzigste Funktion von der Site sein soll? Ich hab jetzt meinetwegen meine Hauptsite, nen Forum, nen Blog und nen Portfolio. Mach ich dann für diese 3 Funktionen jeweils nen eigenes Template, mit den entsprechenden Variablen. Oder ist es schlauer, ein "Haupt-" Template zu machen, in dass ich dann die Untertemplates include, jeder Site dann ne feste ID zuweise, und dann per if-Anweisung das dementsprechende Untertemplate aufrufe (also die Hauptsite vom Forum bekommt die ID 1, Blog ID 2, Portfolio ID 3. Anhand dieser IDs erkennt dann das jeweils dazugehörige Template, wenn es dran ist, und wird dann im Haupttemplate aufgerufen).

Beides scheint mir nicht so wirklich elegant, ich bin aber noch nicht drauf gekommen, wie ichs anders machen könnte... Wie macht ihrs, bzw würdet ihrs machen, bzw macht mans? ;-)
Gruß, C.S.

  1. http://www.smarty.net/manual/de/

    Da sind solche Beispiele beschrieben, einfach mal reinschauen.
    Du hast sicherlich eine Hauptseite wie index.html o.ä.
    Dort sind Menü, Header, Inhalt und möglicherweiße noch ein paar andere Sachen vorhanden. Ich nehme an, dass Menü und Header immer gleich generiert werden. Als Inhalt denken wir uns nun dein Forum/Blog/Portofolio. Deshalb würde ich empfehlen, dass du für jedes der drei Module ein eigenes Template schreibst, das du dann einliest und in das Hauptseiten-Template einfügst (temporär).

    Grüße

    1. joa, des wäre ja praktisch die eine Lösung, die ich angesprochen habe. Diese werde ich jetzt auch erst mal weiterverfolgen, das sie mir am einfachsten erscheint.
      Gruß, Chris S.