我有两个模板可以集成到yii中 - 我的前端网站和我的CMS。
我的前端网站有由CMS(数据库)
CMS顶级菜单,这是我的静态菜单。 (“管理页面”,“管理用户”,“管理产品”)虽然此菜单是静态的,但我仍然希望将选定的类分配给相应的顶级菜单项。
例如:如果我在网站上管理某些页面,则应突出显示并选择“管理页面”链接。我该怎么做?我需要自己编码的东西,还是我需要引用的yii中的现有函数?
提前致谢 Yii新手
答案 0 :(得分:1)
我所做的是在我的Controller(AdminController extends Controller
)课程中有多个“菜单”功能。每个构建CMenu需要的数组,并根据我传入函数的内容设置活动数组。例如:
protected function getAdminMenu($activeTitle) {
return array(
array('label'=>'Manage pages', 'url'=>array('/user/purchase'),'active'=>($activeTitle=='Manage pages')?true:false),
array('label'=>'Manage users', 'url'=>array('/user/index'),'active'=>($activeTitle=='Manage users')?true:false),
);
}
您可以在看起来像Controller或Action或URL请求的情况下执行此操作,并将相应的菜单项设置为活动状态。这只是一个例子。
然后在我看来,如果我想渲染“Manage pages”激活的菜单,我会使用Controller类中的函数设置我的布局菜单:
$this->menu=$this->getAdminMenu('Manage pages');
(这假设您在Controller中声明了public $menu=array();
,并查看Blog示例以了解其工作原理:
$this->widget('zii.widgets.CMenu', array(
'items'=>$this->menu,
));
)
我希望这会给你一些指导!
答案 1 :(得分:0)
创建一个css类,用于更改对象的背景以突出显示它。
在各种页面的视图中,只需使菜单项具有该特定类。