この記事では主に ThinkPHP で volist タグのネストループを実装する方法を紹介します。必要な方は参考にしてください。
この記事では ThinkPHP での volist タグのネストの使用法を以下のように詳しく説明します。 Thinkphp 開発マニュアル には、
タグのネスト:
テンプレート エンジンはタグのマルチレベル ネスト機能をサポートしており、タグ ライブラリ内のタグをネストできるかどうかを指定できます。
システムの組み込みタグの中には、volist (およびそのエイリアス反復)、switch、if、elseif、else、foreach、compare (すべての比較タグを含む)、(not) present、(not) empty、(not) があります。定義されたタグとその他のタグはすべてネストして使用できます。例:<volist name="list" id="vo"> <volist name="vo['sub']" id="sub"> {$sub.name} </volist> </volist>
しかし、アクションでは「リスト」に正確にどのように値を割り当てる必要があるのでしょうか?説明からわかるように、list は 2 次元配列である必要があります。以下はテスト後に使用できるテスト コードです。 $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>
コードの主な機能は次のとおりです:
1. まずモデルを作成します:
$Baojia=new Model('baojia'); $Class=new Model('class');
2. 次に、データベース クエリが 2 つの形式でデータを返すことがわかっているため、このステップは非常に重要です。単一のデータを取り出すことは、データの各行を読み取ることと同じです。
$parent=$Class->select();
引用符内のデータを $parent に保存します。ここで、$n は $parent 配列のシリアル番号であり、$parent に格納されているデータ テーブルに相当します。各行には、そのデータを指すインデックスが追加されます。引用はこのカテゴリに属します。
foreach($parent as $n=> $val){ $parent[$n]['voo']=$Baojia->where('belongto=\''.$val['name'].'\'')->select(); }
3.最後に:
$this->assign('list',$parent);
出力を表示します。
このプログラムを通じて、
この分析を通じて、1 つの例から推測することでロジックが非常に明確になります。もちろん、
さらに多くのレベルが必要な場合は、TAG_NESTED_LEVEL 構成パラメーターを指定できます。この場合、次のような複数のサイクルを実現できます: 国->省->都市->郡->郡区
関連推奨事項:
以上がThinkphp の volist タグのネストされたループの使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。