У меня есть панель главного меню, элементы: Emlpoyees, Work, Search... (Моя сила проекта Yii)
<div id="mainmenu">
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>Yii::t('app','Home'), 'url'=>array('/site/index')),
array('label'=>Yii::t('app','Employees'), 'url'=>array('/hr/index')),
array('label'=>Yii::t('app','Work'), 'url'=>array('/work/index')),
array('label'=>Yii::t('app','About'), 'url'=>array('/site/page', 'view'=>'about')),
array('label'=>Yii::t('app','Contact'), 'url'=>array('/site/contact')),
array('label'=>Yii::t('app','Search'), 'url'=>array('/hr/search')),
array('label'=>Yii::t('app','User Access'), 'url'=>array('/rights'), 'visible'=>Yii::app()->user->name==='admin'),
array('label'=>Yii::t('app','Manager User'), 'url'=>array('/user'), 'visible'=>Yii::app()->user->name==='admin'),
array('label'=>Yii::t('app','Login'), 'url'=>array('/user/login'),'visible'=>Yii::app()->user->isGuest),
array('label'=>Yii::t('app','Logout').' ('.Yii::app()->user->name.')', 'url'=>array('/user/logout'), 'visible'=>!Yii::app()->user->isGuest),
))); ?>
</div><!-- mainmenu -->
Yii установил "активный" на нем, он работает, когда я перехожу к ссылке, например: index.php? R = hr/index, "Hr" будет активен (измените фоновый цвет).
#mainmenu ul li a:hover, #mainmenu ul li.active a
{
color: #FF6633;
background-color:#fff;
border-radius: 10px 0px 0px 0px;
}
Но я хочу, чтобы фоновый цвет в "Hr" менялся, когда я перехожу к ссылке index.php? R = hr/create, index.php? R = hr/manager,... Помогите мне пожалуйста! (Извини я плохо знаю английский :( )
Элементы CMenu также имеют active
поле (логическое), которое определяет, какие пункты меню должны отображаться как активные. (Имейте соответствующий класс CSS.)
По умолчанию это active
поле оценивается как true
, когда и текущий контроллер и действие совпадают, но вы можете легко переопределить это с помощью специального выражения, чтобы рассматривать только текущий контроллер:
<div id="mainmenu">
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>Yii::t('app','Home'), 'url'=>array('/site/index')),
array('label'=>Yii::t('app','Employees'), 'url'=>array('/hr/index'),
'active'=>Yii::app()->controller->id=='hr'),
array('label'=>Yii::t('app','Work'), 'url'=>array('/work/index')),
array('label'=>Yii::t('app','About'), 'url'=>array('/site/page', 'view'=>'about')),
array('label'=>Yii::t('app','Contact'), 'url'=>array('/site/contact')),
array('label'=>Yii::t('app','Search'), 'url'=>array('/hr/search')),
array('label'=>Yii::t('app','User Access'), 'url'=>array('/rights'), 'visible'=>Yii::app()->user->name==='admin'),
array('label'=>Yii::t('app','Manager User'), 'url'=>array('/user'), 'visible'=>Yii::app()->user->name==='admin'),
array('label'=>Yii::t('app','Login'), 'url'=>array('/user/login'),'visible'=>Yii::app()->user->isGuest),
array('label'=>Yii::t('app','Logout').' ('.Yii::app()->user->name.')', 'url'=>array('/user/logout'), 'visible'=>!Yii::app()->user->isGuest),
))); ?>
</div><!-- mainmenu -->
id
текущего активного модуля черезYii::app()->controller->module->id