• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage zu reinem php Template

Mo3b

Mitglied
Hi,
ich habe eine prinzipielle Frage zu einem Php Template System. Hier der Link dazu:

Beyond The Template Engine [PHP & MySQL Tutorials]

Dort wird eine einfache Template-Klasse definiert. Mit dieser lassen sich größere Projekte sinnvoll lösen.

So nun mein Problem. Wohin kommt der eigentliche Inhalt der Seite?

In der Anleitung wird ja das Ganze Html-Gerüst außen herum in ein Template geschrieben, nennen wir es mal index.tpl.php . Außerdem gibt es noch innere Templates, die den inneren Aufbau der Seiten regelt. Schön.

Wie baue ich damit aber z.B. die Impressumsseite auf? Sollte ich dafür wieder ein eigenes TEmplate erstellen und dieses einbinden? Macht irgendwie wenig Sinn, den dann würde ich ja 2 Seiten für EINE Seite verwenden.
Wenn ich aber alles in meine impressum.php schreibe, wiird html und php ja wieder wild durcheinander gewürfelt.

Kann mir wer sagen welchen Code ich eigentlich separieren sollte? Und wie ihr so ein Template System besser lösen würdet . :)

Mfg Mo3bius
 
du brauchst nur eine Template datei.. du kannste ja sozusagen Variablen setzten weiß net wie es mit Smarty geht aber bei meinem TPL system wäre das z.B. {content} und das lass ich dann mit der template engine ersetzten..
 
Hi,

also das ist bei Smarty ganz einfach.

Du hast eine Template Datei mit deinem Grundgerüßt und x Dateien mit deinem Inhalt z.b. deinem Impressum, und dann bindest du deinen Inhalt via include ein.

Hier mal ein Beispiel von der Smarty Homepage:

<html>
<head>
<title>{$title}</title>
</head>
<body>
{include file='page_header.tpl'}

{* hier kommt der body des Templates *}
{include file="$tpl_name.tpl"} <-- $tpl_name wird durch eine Wert ersetzt

{include file='page_footer.tpl'}
</body>
</html>

Gruß KY
 
Wobei ich es überflüssig finde, eine Templatesprache zu erfinden um in einer Templatesprache(php) ein Template zu erstellen.

Wie es auch auf der Wikipedia Seite steht:
PHP selbst ist bereits so entworfen, dass man programmiersprachliche Konstrukte mit der textuellen Ausgabe über Platzhalter bzw. gekennzeichnete Bereiche mischen kann. Die Verwendung einer gesonderten Template Engine für PHP ist deswegen eigentlich nicht erforderlich.
 
Ok, dann überleg ich mir mal das mit Smarty. :razz:

Prinzipiell denke ich verstehe ich das schon.

Aber wie heist die Datei wo das drinsteht:

PHP:
<html>
<head>
  <title>{$title}</title>
</head>
<body>
{include file='page_header.tpl'}
 
{* hier kommt der body des Templates *}
{include file="$tpl_name.tpl"} <-- $tpl_name wird durch eine Wert ersetzt
 
{include file='page_footer.tpl'}
</body>
</html>
Ich könnte natürlich meinem Grundtemplate einfach $tpl_name.tpl und den title und sowas über $Get übergeben und das bastelt mir daraus meine Seite. So sieht das hier aber nicht aus, oder?

Ich bin immer noch verwirrt. :|

EDIT: Ja ich möchte eigentlich auch nicht Smarty verwenden. Wenn mir jemand das mit Smarty erklären kann, dann ist das mir aber egal. :)

Mfg Mo3b
 
{include file="$tpl_name.tpl"} müsste aber so aussehen:

{include file=$tpl_name . ".tpl"}
 
Zurück
Oben