Динамическое меню на YII2

167
07 октября 2018, 19:40

Доброго всем времени суток.

Вопрос: вот, например, пользователь из админки создает новый пункт меню, в меню прописывается роут. Возможно но ли в YII2 создать такое правило для роутинга, чтобы динамически обрабатывать такой, новый фактически запрос, ведь ни контроллера ни экшена нет. Или перенаправить на дефолтное правило? Возможно ли такое в YII2?

Answer 1

Конечно возможно, пишите роутинг правило с регулярным вырежением. В вашем случае через слэш будет идти обыкновенное значение переменной с типом строка, которое вы передадите в контролллер. Можете использовать их в роутере или передавать в какой-то определённый контроллер/метод в котором вы уже будете решать что показывать в зависимости от переданных аргументов в роутере.

Например:

'rules' => [
    [....],
    'page/<name:\w+>' => 'page/index',
    [....]
],

В контроллер PageController в метод actionIndex будет передана переменная $name которае будет содержать значение.

Шаблон правила используется для поиска соответствия с частью URL, определяющей путь. Например, в URL sute.ru/page/about/ путь определяет часть page/about (начальный и конечный слеши игнорируются), соответствующая регулярному выражению page/(\w+).

READ ALSO
SweetAlert при вхоже

SweetAlert при вхоже

Как показать модальное окно от SweetAlert при входе на сайт?

182
sf-menu sf-js-enabled sf-arrows убрать вверху сайта

sf-menu sf-js-enabled sf-arrows убрать вверху сайта

Недавно заметил надпись "sf-menu sf-js-enabled sf-arrows" в самом вверху сайта fashion-milencom

211