Lothor
            (Fabiano Lothor)
          
          
          
              
              
          1
          
         
        
          Olá pessoal!
Segue abaixo o CMenu que estou utilizando em meu projeto…
<?php 
$this->widget('zii.widgets.CMenu', array(
	'linkLabelWrapper' => 'div',
	'lastItemCssClass' => 'lastMenuOption',
	'items' => array(
		array('label' => Yii::t('pages', 'home'), 'url' => array('/'.Yii::app()->language.'/site/index')),
		array('label' => Yii::t('pages', 'singUp'), 'url' => array('/'.Yii::app()->language.'/users/singUp'), 'visible' => Yii::app()->user->isGuest),
		array('label' => Yii::t('pages', 'ranking'), 'url' => array('/'.Yii::app()->language.'/users/ranking')),
		array('label' => Yii::t('pages', 'about'), 'url' => array('/'.Yii::app()->language.'/site/about')),
		array('label' => Yii::t('pages', 'contact'), 'url' => array('/'.Yii::app()->language.'/site/contact')),
		array('label' => Yii::t('pages', 'error'), 'url' => array('/'.Yii::app()->language.'/site/error'), 'visible' => $this->route === 'site/error'),
	),
));
A dúvida é a seguinte… Como eu faço para que os itens, quando ativos, fiquem com a: class active?
Porque é o seguinte…
Se eu acesso a index do site, a rota será site/index e não <language>/site/index, por isso a class active não fica no item que deveria estar ativo.
Será que fui claro? Espero que sim… Alguma ideia para resolver o problema?
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
          
          
            Lothor
            (Fabiano Lothor)
          
          
          
              
              
          2
          
         
        
          Resolvi o problema da seguinte forma galera:
<?php 
$this->widget('zii.widgets.CMenu', array(
        'linkLabelWrapper' => 'div',
        'lastItemCssClass' => 'lastMenuOption',
        'items' => array(
                array('label' => Yii::t('pages', 'home'), 'url' => array('/'.Yii::app()->language.'/site/index'), 'itemOptions' => array('class' => $this->route === 'site/index' ? 'active' : '')),
                array('label' => Yii::t('pages', 'singUp'), 'url' => array('/'.Yii::app()->language.'/users/singUp'), 'visible' => Yii::app()->user->isGuest, 'itemOptions' => array('class' => $this->route === 'users/singUp' ? 'active' : '')),
                array('label' => Yii::t('pages', 'ranking'), 'url' => array('/'.Yii::app()->language.'/users/ranking'), 'itemOptions' => array('class' => $this->route === 'users/ranking' ? 'active' : '')),
                array('label' => Yii::t('pages', 'about'), 'url' => array('/'.Yii::app()->language.'/site/about'), 'itemOptions' => array('class' => $this->route === 'site/about' ? 'active' : '')),
                array('label' => Yii::t('pages', 'contact'), 'url' => array('/'.Yii::app()->language.'/site/contact'), 'itemOptions' => array('class' => $this->route === 'site/contact' ? 'active' : '')),
                array('label' => Yii::t('pages', 'error'), 'url' => array('/'.Yii::app()->language.'/site/error'), 'visible' => $this->route === 'site/error', 'itemOptions' => array('class' => $this->route === 'site/error' ? 'active' : '')),
        ),
));
Mas não ficou muito intuitivo.
Existe alguma forma de fazer isso de uma forma melhor?