Как изменить урл при renderPartial

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

Как изменить урл при renderPartial

Сообщение vanred79 » 15 окт 2018, 09:49

Здравствуйте! У меня страя версия ORE. По мере интеграции мультиязычности появляются новые проблемыю Одна из них - добавление объявлений.
Создание объявлений у меня происходит в 2 этапа, на первом этапе вводятся данные и нажимается кнопка Создать, при ее нажатии происходит редирект на урл http://test4.ru/userads/main/update?id= ... to-gallery, после нужно нажать кнопку Сохранить.
Так вот, если на первом этапе создавать объявление под другим языком с урлом http://test4.ru/kk/userads/main/create, то при нажатий на кнопку Создать происходит редирект на http://test4.ru/userads/main/create и форма не отправляется дальше.
Грешу на вот этот кусок кода в файле \protected\modules\userads\controllers в actionCreate():
Код: Выделить всё


$this
->render('create',array(
            
'model'=>$model,
            
'categories' => Apartment::getCategories(NULL$type),
            
'user'=>$user,
        )); 

В файле create такой код:
Код: Выделить всё
$this->renderPartial('_form',array(
    
'model'=>$model,
    
'categories' => $categories,
)); 


Вопрос такой, как можно изменить урл, чтобы при нажатии на кнопку Создать при заходе с другого языка редиректило на урл http://test4.ru/kk/userads/main/update? ... to-gallery? Понимаю, что нужно с формы передать, значение языка, но не понимаю, куда значение языка поставить.
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: Как изменить урл при renderPartial

Сообщение andipas » 16 окт 2018, 09:11

Необходимо изменять rules для чпу в protected/components/CustomUrlManager.php и скорее всего другие изменения в коде по ходу работ. На этот вопрос не ответишь за 5 мин. это платная доработка, обращайтесь через форму контактов.
Часто задаваемые вопросы. Для правки файлов notepad++, netbeans, phpStorm. Для правки CSS firebug.
Аватара пользователя
andipas
Разработчик
Разработчик
 
Сообщения: 695
Зарегистрирован: 28 дек 2011, 22:37
Очки репутации: 30

Re: Как изменить урл при renderPartial

Сообщение vanred79 » 16 окт 2018, 12:24

Здравствуйте! Нашел файл, где можно указать язык контроллеру, это \protected\components\Controller.php в function init(). При указании
Код: Выделить всё
Yii::app()->language 'kk';  
все стает нормально работать для казахского языка.
Теперь не могу понять как из урла http://test4.ru/kk/ взять kk, чтобы задать условие. Подскажите пожалуйста как это можно сделать? Еще лучше, если ссылку на мануал по этому вопросу скинете. Гуглил, но не смог найти нужное
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: Как изменить урл при renderPartial

Сообщение vanred79 » 16 окт 2018, 15:06

Если в файл \protected\components\Controller.php в init
вставить такой код:
Код: Выделить всё
Yii::app()->language 'kk'

то для другого языка объявление нормально добавляется, но если добавить вот такой код:
Код: Выделить всё
$zzz=$_COOKIE["lang"];
if (
$zzz == 'ru') { Yii::app()->language 'ru'; }
if (
$zzz == 'kk') { Yii::app()->language 'kk'; } 

после нажатия на кнопку создать обратно переходит на русский язык.

Подскажите пожалуйста почему код не работает правильно?
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: Как изменить урл при renderPartial

Сообщение vanred79 » 17 окт 2018, 15:31

Здравствуйте! Решил проблему с помощью добавления в урл ?language=kk в файле CustomUrlManager. Но хотелось бы убрать ее со страниц property.
Подскажите пожалуйста, как в ниже следующем коде задать условие, чтобы код работал, только для модуля userads?
Код: Выделить всё
if (Yii::app()->language !== 'ru') {
          $params['language'] = Yii::app()->language;
        }
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2


Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8