Hinweis: Die englische Doku stammt noch aus Zeiten von vLIB 4.0.0 aus dem Jahre 2003 oder 2004. Ich bin nach und nach dabei sie auf den aktuellen Stand zu bringen. Da Kelvin nicht mehr mit an Bord ist, weiß ich nicht, was Bug und was Feature ist. Die Doku ist zu 95% verlässlich, aber ein paar Sachen, die dokumentiert sind funktionieren anders. Zum Beispiel kann der TMPL_INCLUDE zum inkludieren von PHP-Dateien verwendet werden, wozu ganz ausdrücklich der TMPL_PHPINCLUDE verwendet werden sollte.
---
Das Problem ist gelöst. Du benutzt die Template-Variablen falsch.
Nicht
{tmpl_var name=childs.name}
sondern
{tmpl_var name=name}
Außerdem benutzt Du die Variablen doppelt. Das funktioniert nicht.
Ich habe die dritte LOOP-Ebene in "kinder" umbenannt:
2 => array (
name => Mitglieder,
child => xxp12,
kinder => array (
0 => array (
name => Nach Rang,
child => ,
childs =>
),
1 => array(
name => Nach Klasse,
child => ,
childs =>
)
)
),Danach funktioniert die Ausgabe in der dritten Ebene.
Das Template sieht dann so aus:
<TMPL_LOOP name="childs">
{tmpl_var name=name}<br />
<TMPL_IF NAME="child" OP="!=" VALUE="">
[Child: {tmpl_var name=child}]<br />
<TMPL_LOOP name="kinder">
Name: {tmpl_var name=name}<br />
</TMPL_LOOP>
[/{tmpl_var name=child}]<br />
</TMPL_IF>
</TMPL_LOOP>
Die inneren Loops können die gleichen Namen für Template-Variablen enthalten, aber ich rate sehr dringend davon ab das zu tun. Bedenke, dass ein Template etwas Statisches ist und keine OOP (childs.childs.name) möglich ist. Das es bei "childs.name" funktioniert wundert mich eher, als dass es mir sinnvoll erscheint. Gerade weil ein Template etwas Statisches ist, würde ich die Ebenen vielleicht durchnummerieren:
erste_name
- zweite_name
- - dritte_name
Wenn Du Deine Navigation so (mit allen PHP Freiheiten) aufbauen möchtest, empfehle ich die
Template Engine nur mit PHP.
Ich habe im Moment keinen Zugriff auf meinen Server, aber wenn Du nicht klar kommst, poste ich das ganze Beispiel heute Abend noch einmal auf meinem Server (lamp.clausvb.de).
Gruß
Claus