Widget CMenu com Idioma do Site nas Rotas

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?

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?