berezuev
@berezuev
#define TRUE FALSE

Yii2: роутинг. Как передать строку экшену?

'foo/' => 'foo/category',
'foo/bar' => 'foo/bar'

Собственно, мне нужно сделать так, чтобы я мог при открытии страницы /foo/bar получать этот же контроллер, а при открытии foo/some-value-ololo мне выводилось "some-value-ololo".
/foo/bar в примере выше работает нормально, а вот если поменять переменную на любую - выводит 404.
Пробовал в параметрах контроллера поставить $name - без толку.
В идеале еще должен быть третий вариант - /foo/somevalue/anothervar/ выводящий на третий action в том же контроллере, и передающий ему somevalue.
  • Вопрос задан
  • 251 просмотр
Решения вопроса 2
@Glimor
develop
/foo/bar в примере выше работает нормально, а вот если поменять переменную на любую - выводит 404.
foo - контроллер, bar - экшен контроллера, дальше идут переменные, настраивать надо urlManager в конфиге. some-value-ololo - тоже экшен контроллера foo, выводит 404 потому, что у тебя его нет...
https://github.com/yiisoft/yii2/blob/master/docs/g...
[
    'posts'=>'post/list',
    'post/<id:\d+>'=>'post/read',
    'post/<year:\d{4}>/<title>'=>'post/read',
]
Ответ написан
berezuev
@berezuev Автор вопроса
#define TRUE FALSE
Решено. Просто нужно было писать эту строку перед дефолтными настройками
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы