【发布时间】:2012-07-09 00:02:29
【问题描述】:
我正在使用 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 是一个由多个 $links 组成的数组,这些 $links 内置在一个循环中(来自 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;
}
【问题讨论】: