Страница 1 из 1

Вопрос по поводу мультиязычности.

СообщениеДобавлено: 06 окт 2012, 10:59
san4ezzzpro
Сделал мультиязычность на сайте. Все вроде ок. Но есть баг в аяксе. Не могу ничего сохранить в настройках и не выставляется маркер на карте. Если не трудно подскажите куда рыть)

Re: Вопрос по поводу мультиязычности.

СообщениеДобавлено: 07 окт 2012, 07:24
Xpycm
Возможно, дело в правилах urlManager'a.
Посмотрите в FireFug куда уходят запросы. Какой ответ приходит.

Re: Вопрос по поводу мультиязычности.

СообщениеДобавлено: 08 окт 2012, 00:26
san4ezzzpro
Посмотрел в firebug ошибка на POST /configuration/backend/main/updateAjax 400 CHttpException.

вот мой urlmanager
Код: Выделить всё

<?php
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

Код: Выделить всё
'<language:(ru|uk)>/' => 'site/index',
                '<language:(ru|uk)>/sitemap.xml'=>'sitemap/main/viewxml',

                '<language:(ru|uk)>/property/<id:\d+>'=>'apartments/main/view',
                '<language:(ru|uk)>/news'=>'news/main/index',
                '<language:(ru|uk)>/news/<id:\d+>'=>'news/main/view',
                '<language:(ru|uk)>/faq'=>'articles/main/index',
                '<language:(ru|uk)>/faq/<id:\d+>'=>'articles/main/view',
                '<language:(ru|uk)>/contact-us'=>'contactform/main/index',
                '<language:(ru|uk)>/specialoffers'=>'specialoffers/main/index',
                '<language:(ru|uk)>/page/<id:\d+>'=>'menumanager/main/view',

                '<language:(ru|uk)>/service-<serviceId:\d+>' => 'quicksearch/main/mainsearch',

                '<language:(ru|uk)>/<controller:(quicksearch|specialoffers)>/main/index' => '<controller>/main/index',
                '<language:(ru|uk)>/<_m>/<_c>/<_a>' => '<_m>/<_c>/<_a>',
                '<language:(ru|uk)>/<_c>/<_a>' => '<_c>/<_a>',
                '<language:(ru|uk)>/<module:\w+>/backend/<controller:\w+>/<action:\w+>'=>'<module>/backend/<controller>/<action>',
 

Re: Вопрос по поводу мультиязычности.

СообщениеДобавлено: 10 окт 2012, 13:03
Koduc
san4ezzzpro писал(а):Посмотрел в firebug ошибка на POST /configuration/backend/main/updateAjax 400 CHttpException.

М.. Так нет правил, которые обработают запрос без языка в урле. Вот если бы запрос уходил на ru/configuration/backend/main/updateAjax - тогда бы работало (наверное *WRITE* ).
Попробуйте в правила в конец добавить дефолтовые обработчики. Что-то типа:
'<module:\w+>/backend/<controller:\w+>/<action:\w+>'=>'<module>/backend/<controller>/<action>',

Re: Вопрос по поводу мультиязычности.

СообщениеДобавлено: 11 окт 2012, 12:08
san4ezzzpro
Добавил в конце обработчик , но ничего не получается. ((( Уже целый день борюсь с этой проблемкой.

Re: Вопрос по поводу мультиязычности.

СообщениеДобавлено: 11 окт 2012, 12:23
Xpycm
Не факт, что поможет, но мало ли.
Замените в сущестующих правилах <language:(ru|uk)> на <language:\w{2}>
+ добавьте вконце:
'<language:\w{2}>/<_c>' => '<_c>',
'<language:\w{2}>' => '',

'<module:\w+>/backend/<controller:\w+>/<action:\w+>'=>'<module>/backend/<controller>/<action>'

и почистите папку protected/runtime/cache

Re: Вопрос по поводу мультиязычности.

СообщениеДобавлено: 11 окт 2012, 13:05
san4ezzzpro
Вопрос закрыт. Все работает с моими правилами, ошибка была в конфигурационном файле , но не в правилах. Спасибо за оперативную помощь)