Yii 2 urlManager

265
19 декабря 2016, 19:33

Как можно настроить urlManager, чтобы ссылка http://advanced1/category/ua1-1 обрабатывалась actionIndex, притом последний параметр "ua1-1" может быть какой угодно например: ua1-2, ua1231, items …

Answer 1

Я вам рекомендую немного почитать об urlManager непосредственно в доках. Там все хорошо объясняется: вот или вот или еще даже в оф. доках

Об этом я писал и затрагивал в данной теме на ruSO. Тоже советую взглянуть.

А вкратце, в urlManager описываются правила в массиве как ключ -> значение. И вы там можете описать всё всё, что вашей душе угодно. Пример: 'posts' => 'post/index' - соответствие URL post маршруту post/index

А значит мы можем написать даже такой бред: 'user/index' => 'bread/bake' - зайдя по URL решив посмотреть пользователя на самом деле обратимся к контроллеру Bread и методу Bake.

То есть, чтобы теперь со страницы category/ua1-1 уходил в index можно написать:

'urlManager'=>[
            ...
            'rules' => [               
                'category/<id>' => 'category/index'
            ],
            ...         
        ],

При этом <id> можно описать регулярным выражением, если это требуется.

Как пример: <id:\d+> - здесь id это только числа.

А также не стоит забывать в контроллере дополнить входной параметр:

public function actionIndex($id)
READ ALSO
Как работают функции fputcsv, fgetcsv?

Как работают функции fputcsv, fgetcsv?

Обе функции fputcsv и fgetcsv работают со строкамиЧитают/пишут по одной строке, т

257
Убрать день из интервала

Убрать день из интервала

Интервал взят из текстового бокса в определенном форматеБеру начало и конец интервала

182
Правильное наследование классов в php

Правильное наследование классов в php

Есть к примеру 3 класса

183