Also
Ein Beispiel Template:
Code:
//main.tpl
<html><head><title>{$titel}</title>
</head>
<body><div id="header">{$seitentitel}{section name="north"}</div>
<div id="left">{section name="west"}</div>
<div id="right">{section name="east"}</div>
<div id="content"><h1>{$seitentitel}</h1>{section name="center"}</div>
<div id="footer">{section name="south"}</div>
</body>
</html>
Ein weiteres Template:
Code:
//Navigation.tpl
<div id="navi">
{multiply name="navi"}
<a href="{$navi.link}">{$navi.name}</a>
{/multiply}
</div>
Und noch ein Template:
Code:
//Status.tpl
<div id="status">Fertigstellungsgrad: {$fertig} %
</div>
Im PHP Code:
PHP-Code:
$tpl = new Template();
$tpl->assign("titel","Testseite");
$tpl->assign("seitentitel","Status");
$tpl->assign("fertig",20);
$navi = array();
for($i=0;$i<6;$i++) {
array_push($navi,array("link"=>"#","name"=>"Test".$i));
}
$tpl->assign("navi",$navi);
$tpl->addTemplate("Navigation.tpl","west");
$tpl->addTemplate("Status.tpl","center");
$tpl->display(); //Main.tpl wird standardmäßig genommen
Naja und dann soll er mir daraus halt eine Seite bauen, also zu den verschiedenen Sections kann ich eigentlich jedes beliebige Template hinzufügen. Natürlich kann ich auch direkt im Template ein include angeben, zum Beispiel header und footer habe ich ausgelagert, aber is ja erstmal nicht so wichtig. Dieses mutliply ist eigentlich so ähnlich wie eine foreach Schleife, allerdings will ich die Möglichkeit haben, mehrere multiplys zu verschachteln.
Also wenn ich in der For-Schleife der PHP Datei noch ne For-Schleife mache und das ganze dann dem navi zum Beispiel unter dem Namen subnavi hinzufüge, dann kann ich im Template im navi-{multiply} noch ein subnavi-{mutliply} definieren.
Bei meinem "Template-System" habe ich noch die möglichkeit Areas zu verstecken. PHP Code wird rausgefiltert und natürlich überflüßige Dinge entfernt (wenn zum Beispiel irgendwo ein {section} übrigbleibt oder so)
Joar ich glaube das war es erstmal so.