Yii2 - Advanced template
Привет, представьте себе каталог автомобилей:
на index ты видишь список Марок например, переходишь и url: mysite.ru/lada - динамичное меняется от названия марки, это я сделал так в 'urlManager' => 'rules' => [' < name: \w+ > ' => 'catalog/mark'], - работает на ура.
А далее я выбираю модель этой марки, и хочу в url видеть например,
mysite.ru/lada/priora, но понимаю что не понимаю как описать правило,
у меня пока что так, 'model/ < name: \w+ >' => 'catalog/model',
и на выходе собственно
mysite.ru/model/priora ))
В общем вот, а надо бы как написано выше.
в GET передаю имя марки и по нему же делаю выборку.
Я понимаю что могу в БД в записях таблицы моделей вести поле с именем марки и отправлять его вторым параметром в get и создавать Url какой мне нужен, но это бред.
Кто что посоветует)
Пока додумался еще вот до чего, работает кстати. Я понял что во view с моделями есть переменная содержащая имя марки, и прицепил её в url::to(['mark' => $mark->name]), а в правиле UrlManager описал так: ' < mark: \w+ >/< name: \w+ > ' => ' catalog/model '
Да вообще я понял что могу просто из контроллера отправлять нужные мне значения и сразу перенаправлять их из view в GET. Представьте Марка/модель/поколение/серия ,мы находимся во view серии и я представляю что запрос будет выглядеть так: \yii\helpers\Url::to( [ ' контроллер/экшен ', 'mark' => $mark->name, 'model' => $model->name, 'pokolenie' => $gen-> name ,'serie' => $serie->name ] ) Скажите это хорошая практика или лажа? Я новичок и не все понимаю!
Kostik_1993: Ну тоесть я из контроллера на вид отправляю переменную $mark, а использую ее только как параметр для отправки в GET, А что если у меня в GET запросе будет порядка 7 параметров с помощью которых правила будут делать красивый и динамичный url?