Задать вопрос
@JoneCode

Как правильно составить правило для url?

Добрый день, есть адрес такого вида namesite.com/catalog/1?brand=1
Хочу сделать что был такой адрес namesite.com/catalog/1/brand-1 (надо убрать "?=")

В правил urlManager прописал:
'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
                'catalog/<id:.+>/brand/<brand:[\w-]+>' => 'cat/view',
                'catalog/<id:.+>' => 'cat/view',
                'catalog' => 'cat/view',
                'brand/<id:.+>' => 'brnd/view',
                'product/<id:.+>' => 'prod/view',
            ],
        ],


В виде ссылку формирую так:
<?= Html::a($b->name, ['catalog/'.$model->id.'', 'brand' => $b->id]) ?>


Подскажите, пожалуйста, как сформировать такой вид url namesite.com/catalog/1/brand-1 ??
  • Вопрос задан
  • 222 просмотра
Подписаться 1 Простой 28 комментариев
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
'default/<id:\d+>/brand-<brand:\d+>' => 'default/index',
'default/<id:\d+>' => 'default/index',
'default' => 'default/index',

echo Html::a('test', ['default/index', 'id' => $id, 'brand' =>  $brand])
echo Html::a('test', ['default/index', 'id' => $id])
echo Html::a('test', ['default/index'])

http://site.loc/default/index/3/brand-2
http://site.loc/default/index/3
http://site.loc/default/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы