Templates, oder wie man Inhalt von Design trennt...

MsvP@habdichliebhasi

Erfahrenes Mitglied
Und noch ein Beitrag von mir, damit ihr auch was zu tun habt! :-)

Ich würde ganz gerne mein Design vom Inhalt trennen. Sprich ich habe jetzt das Deisgn von meiner Homepage komplett in Html gebaut und wollte jetzt anfangen es in PHP umzubauen.

Dabei würde ich ganz gerne das Inhalt und auch menü (siehe andere Beitrag) nicht mehr in der Designdatei mit drin stecken sondern eingeladen werden, damit kleinere Designänderungen nicht mehr Arbeit machen als sie sollen. (sprich es muss nur eine Datei angepasst werden, die mit dem Design, nicht für jeden Inhalt eine eigene Datei die ich anpassen muss)
Ich würde jetzt spontan sagen, ich mache eine Design.php da kommt ein include für die Menü.php rein und ein include für InhaltXY.php, der dann über eine Variable immer anders ist.

Aber irgendwie habe ich so die Befürchtung, dass so ein include von ner dicken Inhaltsdatei lange zum laden braucht.
Gibt es da ne gute Möglichkeit, so etwas sauber und schnell zu machen?

Gruß,
Micha
 
Ja, die hatte ich mir schon angeschaut, habe auch die Suchfunktion benutzt. Aber irgendwie werde ich da nicht so richtig schlau draus. Außerdem geht man hier ja irgendwie von Php und Html trennen aus, das wäre bei mir ja nicht unbedingt der Fall. Da ja auch der Inhalt Html + Php enthält.

Aber ich verstehe auch nicht so ganz wie das hier funktioniert:
http://www.tutorials.de/forum/php-tutorials/12907-php-templates.html

Also diese Zeile, die ja irgendwie am wichtigsten ist ist mir noch ein Rätsel:

PHP:
//jetzt der Aufruf, wo das Template geholt wird und die Platzhalter ersetzt werden. 
eval("dooutput(\"".gettemplate("layout")."\");");

Also ich verstehe, dass dort die Html und Php Teile kombiniert werden zu einem Template, aber ich verstehe nicht wie?
 
Naja, dein/das Template erhält ja Variablen, also im Falle des Tutorials z.B. $title, $inhalt. Mit der Funktion gettemplate() lesen wir also das Template ein. Die Funktion dooutput() gibt den Inhalt des Templates einfach nur aus (siehe [phpf]echo[/phpf]). [phpf]eval[/phpf] führt den String (in dem Fall der Inhalt der Templatedatei) als normalen PHP-Code aus, also dass die Variablen $titel und $inhalt durch Werte ersetzt werden, die du/man vorher festgelegt ha(s)t.

Nachtrag
Ich weiß, das Thema ist schon zwei Tage alt, aber falls später mal einer Probleme hat das zu verstehen...
 
Zuletzt bearbeitet:
Um Inhalt vom Layout zu trennen – also das Markup von dessen Darstellung –, wird eigentlich nur gut durchdachtes, semantisches HTML und ein geschickter Einsatz von CSS benötigt.
 
Zurück