webapp自动生成的MainMenu Widget里的代码
isActive方法里
if(strpos($pattern[0],'/')!==false)
$matched=$pattern[0]===$controllerID.'/'.$actionID;
else
$matched=$pattern[0]===$controllerID;
else里,$controllerID是不是应该为$actionID?
webapp自动生成的MainMenu Widget里的代码
isActive方法里
if(strpos($pattern[0],'/')!==false)
$matched=$pattern[0]===$controllerID.'/'.$actionID;
else
$matched=$pattern[0]===$controllerID;
else里,$controllerID是不是应该为$actionID?
源代码是对的。它的意图是允许只指定controller id,用来匹配所有该controller的action。
我们正在开发一个新的菜单widget,可以做得更好。这个MainMenu没仔细开发。
不明白。
$pattern[0]里如果没有’/'这个符号的话,不是默认指向当前controller的action么?
如
array('label'=>'首页', 'url'=>array('index', 'param1'=>'value1'))
这个url应该是指到当前controller下的index Action吧?
还有
$pattern=isset($item['pattern'])?$item['pattern']:$item['url'];
是不是应该放在
if(is_array($item['url']))
echo $item2['url']=$controller->createUrl($item['url'][0],array_splice($item['url'],1));
else
$item2['url']=$item['url'];
这段代码前面。
因为$item[‘url’]被上面array_splice掉了。
可不可以不用这个MainMenu?可以自定义菜单吗?
可以自定义,你把mainMenu widget这段换成你的东西。