我正在尝试使用Yii的CMenu小部件。菜单项数组由我编写的类生成,该类从数据库中的tbl_menu中提取数据。据我所知,这个数组生成得很好。(见文末部分内容)
菜单已经创建,所有关卡和道具的HTML都在那里。当单击第一级的父级时显示第二级,而当单击第二级的父级时不显示第三级。
<<p> 小部件代码/strong>$modelMenu = new TblMenu();
$this->widget('zii.widgets.CMenu',array(
'htmlOptions'=>array('class'=>'pull-right nav'),
'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),
'itemCssClass'=>'item-test',
'encodeLabel'=>false,
'items'=>$modelMenu->getMenu() //returns the Menu array (as seen below)
));
<<p> 菜单数组/strong> array(6) {
[0]=>
array(5) {
["label"]=> string(40) "Control Panel"
["url"]=> string(1) "#"
["itemOptions"]=>
array(2) {
["class"]=>
string(8) "dropdown"
["tabindex"]=>
string(2) "-1"
}
["linkOptions"]=>
array(2) {
["class"]=> string(15) "dropdown-toggle"
["data-toggle"]=> string(8) "dropdown"
}
["items"]=>
array(6) {
[0]=>
array(5) {
["label"]=> string(40) "Basic Setting"
["url"]=> string(1) "#"
["itemOptions"]=>
array(2) {
["class"]=> string(8) "dropdown"
["tabindex"]=> string(2) "-1"
}
["linkOptions"]=>
array(2) {
["class"]=> string(15) "dropdown-toggle"
["data-toggle"]=> string(8) "dropdown"
}
["items"]=>
array(8) {
[0]=>
array(5) {
["label"]=> string(33) "County"
["url"]=> string(1) "#"
["itemOptions"]=>
array(2) {
["class"]=> string(8) "dropdown"
["tabindex"]=> string(2) "-1"
}
["linkOptions"]=>
array(2) {
["class"]=> string(15) "dropdown-toggle"
["data-toggle"]=> string(8) "dropdown"
}
["items"]=>
array(2) {
[0]=>
array(2) {
["label"]=> string(7) "Add New"
["url"]=> string(82) "http://www.link.co.uk/to/menu/item"
}
[1]=>
array(2) {
["label"]=> string(9) "View List"
["url"]=> string(83) "http://www.link.co.uk/to/menu/item"
}
}
}
....TRUNCATED DUE TO LENGTH
我使用jqueryslidemenu插件解决了这个问题。
Yii框架论坛- CMenu和多级嵌套菜单