воскресенье, 9 сентября 2012 г.

Yii Активный пункт меню zii.widgets.CMenu

Как выделить активный пункт меню.

Выделять, даже если находимся в action контроллера:
создаем файл \protected\extensions\zii\widgets\Menu.php
с содержимым:

<?php
Yii::import('zii.widgets.CMenu');
class Menu extends CMenu {
    protected function isItemActive($item, $route) {
        $route_trim = trim($route,'/');
        $cutRoute = substr($route_trim, 0, stripos($route_trim, '/'));
        return parent::isItemActive($item, $cutRoute) || parent::isItemActive($item, $route);
    }
}
?>
?>

В шаблоне, например: \protected\views\layouts\main.php
вписываем наше меню:

<?php $this->widget('ext.zii.widgets.Menu',array(

   'items'=>array(

    array('label'=>Yii::t('main', 'Home'), 'url'=>array('/site/index')),

    array('label'=>Yii::t('main', 'Contact'), 'url'=>array('/site/contact')),

                array(

     'label'=>Yii::t('main', 'Product'),

     'url'=>array(Product::URL),

     'visible'=>!Yii::app()->user->isGuest,

                ),

Комментариев нет:

Отправить комментарий