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()
何か不足していますか?
編集: (xml から) ループで構築された$this->mainMenu
複数の から構成される配列です。$link
$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;
}