私はYiiのネストされたセットの動作を使用しています。これは、ここに示すようにカテゴリをネストしたままにするのに役立ちます(タイトル行はロシア語であることに注意してください)。
そして、私がやりたいのは、Bootstrapのネストされたメニューを作成することだけです。これは次のようになります。
$criteria = new CDbCriteria;
$criteria->order = 'root, lft';
$categories = Category::model()->findAll($criteria);
foreach($categories as $i => $category) {
$items[$i]['label'] = $category->title;
$items[$i]['url'] = $category->url;
$items[$i]['active'] = false;
$items[$i]['items'] = array(
array('label'=>'123', 'url'=>'#'),
array('label'=>'123', 'url'=>'#'),
array('label'=>'123', 'url'=>'#', 'items'=>array(
array('label'=>'1234', 'url'=>'#'),
array('label'=>'1234', 'url'=>'#'),
array('label'=>'1234', 'url'=>'#', 'items'=>array(
array('label'=>'1234', 'url'=>'#'),
array('label'=>'1234', 'url'=>'#'),
array('label'=>'1234', 'url'=>'#'),
)),
)),
);
}
$this->widget('bootstrap.widgets.TbMenu', array(
'type'=>'pills',
'stacked'=>false, // whether this is a stacked menu
'items'=>$items
));
これを実行する方法がわかりません。ところで、このトピックを読んだだけで、この関数を実際に問題に適用する方法がわかりません。助けに感謝します。