我在config/main.PHP中添加一个数组:
'meun'=>array(
array('label'=>'类别管理', 'url'=>array('/post/admin')),
array('label'=>'URL管理', 'url'=>array('/url_info/admin')),
array('label'=>'关键字管理', 'url'=>array('/tags_info/admin')),
array('label'=>'网址有效性管理', 'url'=>array('/url_scan_info/admin')),
//array('label'=>'注册', 'url'=>array('/site/contact')),
array('label'=>'登陆', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'退出 ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),
),
也就是YII框架中自带的导航菜单的数组!
也就是views\layouts\main.php中
<div id="mainmenu">
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>Yii::app()->meun,
)); ?>
</div><!-- mainmenu -->
问题是我不会定义在CWebApplication中定义meun。
qiang
(Qiang Xue)
2
你只能给CWebApplication的可写属性进行配置。如果你希望有menu属性,你需要派生新的application类。
对于你这个问题,其实没必要这么麻烦。你可以考虑把菜单项写在一个单独的php文件里:
return array(
array('label'=>'类别管理', 'url'=>array('/post/admin')),
array('label'=>'URL管理', 'url'=>array('/url_info/admin')),
array('label'=>'关键字管理', 'url'=>array('/tags_info/admin')),
array('label'=>'网址有效性管理', 'url'=>array('/url_scan_info/admin')),
//array('label'=>'注册', 'url'=>array('/site/contact')),
array('label'=>'登陆', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'退出 ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),
);
require这个文件就得到你想要的了。
谢谢QING.我想过写在一个文件里面!但是以后想在更新的话,改起来麻烦!目的就是结合在一个配置文件里!以后改程序的话只在一个页面中改了!
qiang
(Qiang Xue)
4
我建议还是分开文件比较好。你可以把它们都放在config目录下。类似的你可以有params.php, urls.php, menus.php,分别用作不同用途。在main.php里你把它们聚合在一起。