настройка роутера: значение параметра по умолчанию

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Arhat109
Сообщения: 61
Зарегистрирован: 2016.11.23, 09:06
Откуда: из СССР

настройка роутера: значение параметра по умолчанию

Сообщение Arhat109 »

В общем, есть такая задача, урл:

GET /mycontroller/action -- должен отдавать начальную страничку, а
POST /mycontroller/action -- должен содержать достаточно большой массив данных (около 40 параметров) для отображения выборки фасетного поиска данных в БД.

Вопрос: как настроить роутер и прописать действие правильно?
Если я делаю действие так

public function actionMyaction($data) { .. } -- то для первого запроса (GET) получаю ошибку "параметр data должен быть указан", а если пишу так:

public function actionMyaction(){ .. } -- то получаю при отправке пост-запроса ошибку "не удалось провалидировать параметры" ..

В общем, я потерялся в этом роутере.. требуется грамотный пинок в нужном направлении. :)
Все чаще Историки находят следы древней и очень высокоразвитой Цивилизации, со странными буквами .. СССР
Аватара пользователя
sokoji
Сообщения: 25
Зарегистрирован: 2015.07.20, 11:51
Контактная информация:

Re: настройка роутера: значение параметра по умолчанию

Сообщение sokoji »

Сделайте два разных экшена и укажите в настройках: для ГЕТ-запроса один экшен, для ПОСТ-запроса другой экшен.

Посмотрите, как в РЕСТ это реализовано. ГЕТ — actionIndex(), ПОСТ — actionCreate и т.д.
Arhat109
Сообщения: 61
Зарегистрирован: 2016.11.23, 09:06
Откуда: из СССР

Re: настройка роутера: значение параметра по умолчанию

Сообщение Arhat109 »

А "иного пути" нет? Не хотелось бы .. действие по сути одно и тоже: в первом случае вытаскиваем с "параметрами по умолчанию", а во втором с пришедшим пулом параметров. Можно конечно вытащить в модель (оно и так там), но не понимаю, зачем плодить методы в контроллере.

А указать роутеру значение параметра по умолчанию (если его нет в урл) - никак нет способа?
Все чаще Историки находят следы древней и очень высокоразвитой Цивилизации, со странными буквами .. СССР
Arhat109
Сообщения: 61
Зарегистрирован: 2016.11.23, 09:06
Откуда: из СССР

Re: настройка роутера: значение параметра по умолчанию

Сообщение Arhat109 »

О пасибки. Оказывается можно задать параметр defaults.

Вопрос можно закрыть.
Все чаще Историки находят следы древней и очень высокоразвитой Цивилизации, со странными буквами .. СССР
Ответить