Hey Leute,
bitte keinen Streit!
Danke für die zahlreichen Posts
Dein Link hat mir zwar nichts gebracht, aber das Stichwort „Blöcke“ hat mit sehr geholfen.
Templates benutzt man, um die nicht php’ler unter die Arme zu greifen und den Code vom Design zu trennen. Da nehme ich gerne die längere Ladezeit im Kauf, weil das programmieren viel schneller geht!
@Balmung: Das ist mir bewusst, dewegen habe ich die Frage gepostet.
Ich habe jetzt Blöcke:
[size=85]Hallo {$name}.
{$counter}
[/size]
Warum funktioniert das folgende nicht?
[size=85]// Teile des Templates ausgeben
protected function getSubpart($name){
$pos1 = strpos($this->template, „“);
$pos2 = strpos($this->template, „“);
return substr($this->template, $pos1+strlen(""), $pos2-$pos1-strlen(""));}
// Teile des Templates austauschen
protected function replaceSubpart($name, $replacestr){
$pos1 = strpos($this->template, „“);
$pos2 = strpos($this->template, „“);
$this->template = substr_replace($this->template, $replacestr, $pos1, $pos2-$pos1+strlen(""));}[/size]
Ohne protected gibt es keinen Fehler aus, erstellt aber ein neues Template über das andere:
[size=85]$tpl->assign(„name“, „Benutzer“);
// Template mit schleife
$loopPart = $tpl->getSubpart(„loop“);
$out = „“;
for ($i = 0; $i < 10; $i++){
$tpl_2 = new Template($langs, $langs, $loopPart);
$tpl_2->assign(„counter“, $i);
$out .= $tpl_2->out(1);}
$tpl->replaceSubpart(„loop“, $out);[/size]