Einzelnen Beitrag anzeigen
Alt 28.10.2008, 15:34  
KarlEgon
Erfahrener Benutzer
 
Registriert seit: 24.10.2008
Beiträge: 291
PHP-Kenntnisse:
Fortgeschritten
KarlEgon befindet sich auf einem aufstrebenden Ast
Standard

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.

Geändert von KarlEgon (28.10.2008 um 15:39 Uhr).
KarlEgon ist offline   Mit Zitat antworten