Здравствуйте. Стоит задача: сделать ЧПУ типа "sitename/search/param". В правилах роутинга задано правило, которое делает все как надо, когда вводишь запрос напрямую в строку поиска, вот только проблема - значение "param" получаю из инпута формы, а значит я не могу напрямую создать URL с помощью менеджера и в итоге юрл будет иметь стандартный вид http://sitename/main/search?inputname=param
Часть с /main можно выкинуть без проблем, но ГЕТ-параметр со знаком вопроса и с именем инпута все равно останется.
Есть способ обойти эту проблему? Заранее спасибо за советы.
ЧПУ и формы
Re: ЧПУ и формы
Код: Выделить всё
'search/param/<inputname:\w+>' => 'site/search'
Re: ЧПУ и формы
Вы не поняли, вопрос не в том как разобрать урл, а как сформировать ЧПУ при получении параметра из поля формы.urichalex писал(а): ↑2018.03.22, 17:28Код: Выделить всё
'search/param/<inputname:\w+>' => 'site/search'
Re: ЧПУ и формы
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
Re: ЧПУ и формы
По-идее, если в настройках yii\web\UrlManager в конфиге есть соотвествующее правило, как написал @urichalex, то Url::to должен сгенерировать как раз вот такой адрес 'sitename/search/param', если передать значение параметра как 'inputname', т.е.
Код: Выделить всё
echo Url::to(['sitename/search', 'inputname' => $param]);
Ответственные программисты с высоким уровнем технического долга (c)