Okay, den Ansatz mit require_once() verstehe ich durchaus, nur wird das in meinem Fall wahrscheinlich nicht richtig funktionieren, da bei mir im Template viele verschieden DIV-Container ziemlich komplex verschachtelt sind. Eine Möglichkeit wäre, das Haupttemplate zu splitten und die immer statisch bleibenden Teile durch verschiedene PHP-Files zu laden; die dynamischen Teile könnte man dann direkt im Haupt-PHP-File durch if()-Schleifen erledigen. Das ist aber ziemlich aufwändig und reisst die "Template-Logik" auseinander. Gibt es eine Möglichkeit, die Klasse so abzuändern, dass Loop-Variablen auch innerhalb des includeten Templates verfügbar werden?
Ein weiterer Ansatz wäre wahrscheinlich auch, dass man mittels einer Zählvariable versucht, das Array als tmpl_var zu definieren. Wenn ich mein Array oben wie folgt definieren würde:
$counter = 1;
foreach($navigation_links as $key => $navigation_unterarray) {
foreach($navigation_unterarray as $key_2 => $value) {
$tmpl->setvar(navi_element[$counter][$key_2], $value);
}
$counter++;
}
Ich teste das mal und gebe hier eine Rückmeldung. Wahrscheinlich wird das aber nicht gehen, weil das auch wiederum einem Template-Ansatz widerspricht, nämlich dem der dynamischen Variablen...
Edit: Auch dieser Ansatz funktioniert nicht... man muss eine Variable fest definieren, es geht nicht mit PHP-Variablen. Ich finde das etwas schade, weil es in meinen Augen ziemlich umständlich wird, immer das selbe Template mehrmals zu verwenden, ohne dass man es mit require_once() macht. require_once() finde ich gerade bei grösseren Seiten mit viel dynamischem Content nicht so wahnsinnig berauschend.
Ich bräuchte nämlich dann mitten im HTML-Code ein PHP-Script, welches für mich entscheidet, welches Template jetzt geladen werden soll. Ich habe wirklich keinen blassen Schimmer, wie ich das machen soll, da man ja mit vlibTemplate keine php-Scripts includen kann und auch nicht soll. *confused*