Страница 1 из 1

urlmanager необязательный параметр

Добавлено: 2014.05.21, 13:08
b10s
Здравствуйте,

могу ли я в правиле urlManager'а задать такую регулярку, где параметр GET запроса будет необязательным. Объясню на примере, предположим(это нерабочий вариант, т.к. точка перед \d+ не обрабатывается):

Код: Выделить всё

'admin/<controller:\w+>/<action:\w+>/<id:.\d+>' => 'admin/<controller>/<action>', 
т.е. я хочу, чтобы запросы

admin/deal/create
admin/deal/edit/12
admin/deal/copy/2

обрабатывались одним правилом

Re: urlmanager необязательный параметр

Добавлено: 2014.05.21, 13:10
anton44eg

Код: Выделить всё

'admin/deal/<param1:(create|edit|copy)>(/<id:.\d+>)?' => 'admin/deal/youraction',  

Re: urlmanager необязательный параметр

Добавлено: 2014.05.21, 13:35
b10s
anton44eg писал(а):

Код: Выделить всё

'admin/deal/<param1:(create|edit|copy)>(/<id:.\d+>)?' => 'admin/deal/youraction',
спасибо!
а если admin - это модуль и только его можно оставить константой в regexp'е, а controller и action заменить регулярочкой, как это было и прежде... возможно это?

Re: urlmanager необязательный параметр

Добавлено: 2014.05.21, 13:36
b10s
а.. всё! кажется, я понял. вся сила в знаке вопроса - он делает параметр опциональным, не так ли?

upd: спустя пару тестов отвечаю сам себе - так :)

Re: urlmanager необязательный параметр

Добавлено: 2014.05.21, 13:37
anton44eg
да )