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.
  • Вопрос задан
  • 252 просмотра
Решения вопроса 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
Решено. Просто нужно было писать эту строку перед дефолтными настройками
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы