такая проблема, унаследовал от CUrlManager:
class UrlManager extends CUrlManager
{
public function createUrl($route,$params=array(),$ampersand='&')
{
if (!isset($params['language'])) {
if (Yii::app()->user->hasState('language'))
Yii::app()->language = Yii::app()->user->getState('language');
else if(isset(Yii::app()->request->cookies['language']))
Yii::app()->language = Yii::app()->request->cookies['language']->value;
$params['language']=Yii::app()->language;
}
return parent::createUrl($route, $params, $ampersand);
}
}
И теперь у меня в url сразу после домена идет
ru/ или другойязык/ приставка
В клиентской глюков пока не наблюдалось, но вот в модуле админке на экшены нужного контроллера могу попасть только если в адресной строке убрать
ru/ или
другойязык/ . Еще почему-то в ссылках нужно после языковой приставки через / указывать названия модуля, чтобы не вылететь в клиентскую часть.
Вот Конфигурация Url менеджера:
'urlManager'=>array(
'class'=>'application.components.UrlManager',
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'<language:(ru|en|kz|de|ch|tu|ar)>/' => 'site/index',
'<language:(ru|en|kz|de|ch|tu|ar)>/<action:(contact|login|logout)>/*' => 'site/<action>',
'<language:(ru|en|kz|de|ch|tu|ar)>/<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<language:(ru|en|kz|de|ch|tu|ar)>/<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<language:(ru|en|kz|de|ch|tu|ar)>/<controller:\w+>/<action:\w+>/*'=>'<controller>/<action>',
'<language:(ru|en|kz|de|ch|tu|ar)>/<module:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>' => '<module>/<controller>/<action>/<id>',
'<language:(ru|en|kz|de|ch|tu|ar)>/<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',
),
),
Как я думаю тут решение может быть следующим:
1. Создать новый конфиг в админке и не использовать и закоментить в ней 'class'=>'application.components.UrlManager' ( но тогда я не смогу пользоваться мультиязычностью в админке и не знаю как подключить config внутри модуля)
2. Как то все же допилить правила основного конфига
Помогите люди добрые! Очень интересны соображения и ссылочки по обоим пунктам.