In diesem Artikel wird hauptsächlich die Methode von ThinkPHP zum Implementieren der Volist-Tag-Verschachtelungsschleife vorgestellt. Freunde, die sie benötigen, können darauf verweisen
In diesem Artikel wird die Verwendung der Volist-Tag-Verschachtelung von ThinkPHP wie folgt ausführlicher erläutert:
Zunächst gibt es im Thinkphp-Entwicklungshandbuch eine Erklärung zur Verschachtelung von
Tag-Verschachtelung:
Die Template-Engine unterstützt die mehrstufige Verschachtelungsfunktion von Tags, und Sie können angeben, ob die Tags in der Tag-Bibliothek verschachtelt werden können.
Unter den integrierten Tags im System sind volist (und sein Alias iterate), switch, if, elseif, else, foreach, Compare (einschließlich aller Vergleichs-Tags), (not) present, (not) empty, ( nicht) definierte Tags können verschachtelt werden. Zum Beispiel:
<volist name="list" id="vo"> <volist name="vo['sub']" id="sub"> {$sub.name} </volist> </volist>
Das obige Tag kann verwendet werden, um eine Doppelschleife auszugeben.
Die Standardverschachtelungsebene beträgt 3 Ebenen, sodass die Verschachtelungsebene 3 Ebenen nicht überschreiten kann. Wenn Sie mehr Ebenen benötigen, können Sie den Konfigurationsparameter TAG_NESTED_LEVEL angeben.
Aber wie genau soll „list“ in Action ein Wert zugewiesen werden? Wie aus der Beschreibung hervorgeht, sollte die Liste ein zweidimensionales Array sein. Nachfolgend finden Sie einen Testcode, der nach dem Testen verwendet werden kann.
$Baojia=new Model('baojia'); $Class=new Model('class'); $parent=$Class->select(); foreach($parent as $n=> $val){ $parent[$n]['voo']=$Baojia->where('belongto=\''.$val['name'].'\'')->select(); } $this->assign('list',$parent); <volist name="list" id="vo"> {$vo.name}<BR> <volist name="vo['voo']" id="sub"> {$sub.name} </volist><BR> </volist>
In der Datenbank sind zwei Tabellen definiert, eine ist eine Angebotstabelle und die andere ist eine Klassifizierungstabelle. Die Funktion besteht darin, die Klassifizierung wie ein Baummenü anzuzeigen. Unter jeder Klassifizierung befindet sich das Angebot jedes Modells.
Die Hauptfunktionen des Codes sind:
Erstellen Sie zuerst das Modell:
$Baojia=new Model('baojia'); $Class=new Model('class');
2. Fragen Sie dann die Daten in der Klassifizierung ab Wir wissen, dass die Datenbankabfrage Daten in zweidimensionaler Form zurückgibt, ähnlich einer Tabelle. Wenn wir ein einzelnes Datenelement herausnehmen, entspricht dies dem Lesen jeder Datenzeile. Beim Aufruf von
$parent=$Class->select();
Speichern Sie die Daten im Zitat in $parent, wobei $n die Seriennummer des $parent-Arrays ist, was der in $parent gespeicherten Datentabelle entspricht. Jede Zeile fügt einen Index hinzu, der zeigt zu Zitaten, die in diese Kategorie fallen.
foreach($parent as $n=> $val){ $parent[$n]['voo']=$Baojia->where('belongto=\''.$val['name'].'\'')->select(); }
3. Zum Schluss:
$this->assign('list',$parent);
Ausgabe anzeigen!
Mit diesem Programm erhalten Sie ein tieferes Verständnis des
Durch diese Analyse ist die Logik sehr klar, indem aus einem Beispiel Schlussfolgerungen gezogen werden. Wenn Sie mehr Ebenen benötigen, können Sie den Konfigurationsparameter TAG_NESTED_LEVEL angeben.
Auf diese Weise können mehrere Zyklen wie Land->Provinz->Stadt->Kreis->Gemeinde realisiert werden
Verwandte Empfehlungen:
So verwenden Sie die HTML-Vorlagen-Tags von thinkPHP
ThinkPHP-Vorlagenbeurteilungsausgabe Verwendung leerer Tags
Das obige ist der detaillierte Inhalt vonVerwendung der verschachtelten Schleife des Volist-Tags von Thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!