我正在使用 Yii 的 CMenu 通过以下方式生成菜单:
$this->widget('zii.widgets.CMenu', array(
'items'=>$this->mainMenu,
'lastItemCssClass'=>'mitem-last',
'activeCssClass'=>'mitem-active',
'activateParents'=>true
));
我在页面上显示此菜单,index.php?r=site/home
并期望以下菜单项具有mitem-active
类:
[2] => Array
(
[label] => test
[url] => /index.php?r=site/home
)
但是该项目呈现为
<li><a href="/index.php?r=site/home">test</a></li>
如果我没记错的话index.php?r=site/home
有路由site/home
(这也是 的输出$this->route
),事实上链接是使用创建的
$link['url']=$this->createUrl(current($mitem['url']),$params);
其中current($mitem['url'])
输出site/home
和$params
只是array()
。
我错过了什么吗?
编辑: $this->mainMenu
是一个由多个 s 组成的数组,$link
内置在一个循环中(来自 xml)。
$this->mainMenu = array();
foreach($xml->mitem as $mitem){
$link=array();
... compute some values like $link['label'], $params etc ...
$link['url']=$this->createUrl(current($mitem['url']),$params);
$this->mainMenu[]=$link;
}