Проблема с ссылками у GridView

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
sanex3339
Сообщения: 66
Зарегистрирован: 2014.10.16, 20:30

Проблема с ссылками у GridView

Сообщение sanex3339 »

Возник вопрос, который у меня решен, но костылями на js.

Есть контроллер (любой) в котором вызывается модуль, в котором есть контроллер, в котором есть экшн к которому мы стучимся ajax'ом, в экшене идет редирект на другой экшн (actionShowDataPos) которому задано правило rules (show-data-post), в котором мы получаем данные и отправляем их в некоторую вьюху.

Изначально, при загрузке страницы в GridView у ссылок адрес такого вида:
site.ru/my-amazing-action/?blablabla=blablabla

Проблема - в GridView после ajax запроса и обновления GridView через Pjax, все ссылки имеют вид site.ru/show-data-post/?blablabla=blablabla

Т.е. заместо экшена контроллера, в котором вызывается модуль, к ним добавляется имя экшена контроллера самого модуля. Я разумеется на js написал подмену этой части ссылки на верную, но костыль.

Как пофиксить эту неприятность?
Аватара пользователя
Neuromance
Сообщения: 716
Зарегистрирован: 2011.09.06, 13:04

Re: Проблема с ссылками у GridView

Сообщение Neuromance »

'enablePushState' => false
sanex3339
Сообщения: 66
Зарегистрирован: 2014.10.16, 20:30

Re: Проблема с ссылками у GridView

Сообщение sanex3339 »

пушстейт тут вообще не пойдет, он влияет на адресную строку, а не на url'ы ссылок самого GridView (ссылки сортировки и пагинации).

при загрузке страницы правильные ссылки:
/index.php/site/about?sort=caption

после ajax запроса и обновления gridview:
/index.php/SimpleFilter/filter/show-data-post?sort=caption

Вот мой репозиторий:
https://github.com/sanex3339/Yii2-Simple-Filter

Вот контроллер модуля:
https://github.com/sanex3339/Yii2-Simpl ... roller.php
padlyuck
Сообщения: 302
Зарегистрирован: 2015.02.03, 09:50

Re: Проблема с ссылками у GridView

Сообщение padlyuck »

может быть data-pjax=0 поможет?
sanex3339
Сообщения: 66
Зарегистрирован: 2014.10.16, 20:30

Re: Проблема с ссылками у GridView

Сообщение sanex3339 »

Дело вообще не в настройках pjax-а, насколько я понимаю. Дело в gridview, который вызывается в вьюшке, которая renderPartial'ится в экшене контроллера модуля, который вызывается где-либо.
Т.е. при загрузке страницы модуль вызывается из какого-либо контроллера, соответственно, в модуле при рендере вьюшки с GridView у ссылок прописан контроллер и экшен, из которого модуль вызывался.
При ajax запросе, запрос идет напрямую в экшен контроллера модуля и поэтому у ссылок в урле прописан контроллер и экшен самого модуля, а не контроллер и экшен, из которых этот модуль вызывался.

Вопрос в том - как это пофиксить без плясок с подменой этой части ссылки на js-е?
Потому что, во-первых - велосипед, а во вторых, я задолбался пока писал решение, которое вроде бы работает корректно при различных настройках Yii2
sanex3339
Сообщения: 66
Зарегистрирован: 2014.10.16, 20:30

Re: Проблема с ссылками у GridView

Сообщение sanex3339 »

up, проблему так и не решил
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Проблема с ссылками у GridView

Сообщение ElisDN »

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

$dataProvider->pagination->route = '/site/about';
$dataProvider->sort->route = '/site/about';

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

[
     'class' => 'yii\grid\ActionColumn',
     'controller' => '/site',
],
sanex3339
Сообщения: 66
Зарегистрирован: 2014.10.16, 20:30

Re: Проблема с ссылками у GridView

Сообщение sanex3339 »

[
'class' => 'yii\grid\ActionColumn',
'controller' => '/site',
],
А вот это куда пихать? правда и без этого работает, благодарю!!!!!!!!

ЗЫ: еще раз спасибо, прям душа радовалась, удаляя велосипеды на js
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Проблема с ссылками у GridView

Сообщение ElisDN »

sanex3339 писал(а):А вот это куда пихать?
Это в columns для кнопок Просмотр/Редактировать/Удалить (обычно последний столбец).
sanex3339
Сообщения: 66
Зарегистрирован: 2014.10.16, 20:30

Re: Проблема с ссылками у GridView

Сообщение sanex3339 »

спасибо
Ответить