Необходимо сделать так, чтобы при url вида /catalog загружалась одна модель, при /catalog?id=1 уже другая модель, а при /catalog?id=1&show=1 эта же модель, но с другой вьюшкой
Контроллер получается такой `
public function actionIndex()
{
$catalogs = CatalogCat::find()->all();
return $this->render('index', compact('catalogs'));
}
public function actionProduct($id)
{
$catalogs = Catalog::find()->where(['category_id' => $id])->all();
return $this->render('product', compact('catalogs'));
}
public function actionShow($id, $show)
{
$catalogs = Catalog::find()->where(['id' => $show])->one();
return $this->render('show', compact('catalogs'));
}
Такое правило, не загружает другую вьюшку 'catalog?id=<id:\d+>'=>'catalog/product',
только если так загружается другая вьюшка 'catalog/product?id=<id:\d+>'=>'catalog/product',
Добрый день. Попробуйте так
'work/<id:\d+>'=>'work/view',
Это при условии, что "work" не является модулем и сработает это правило только для контроллера WorkController.
p.s. Подождите, если Вам надо получить url в виде /work?id=1, то зачем Вам настраивать UrlManager? Просто отключите его и всё.
p.s.s. Вам в правилах надо всё равно указывать действия, к каким именно надо обращаться в данном контроллере.Хотя изначально Вы говорили о "work", теперь о "catalog"...
'catalog' => 'catalog/index',
'catalog/<_a:[\w\-]+>' => 'catalog/<_a>'
Эти правила будут вести на действия index, product, show. Без подобных правил Ваш urlManager не поймёт, в какие действия передавать параметры. Теперь, если Вы сформируете ссылку в таком формате
Html::a('Link name', ['catalog/product', 'id' => 1]);
то должны будете попасть в действие "product" и передать туда параметр "id"
catalog/product?id=1
Для действия "show" ссылка может выглядеть так
Html::a('Link name', ['catalog/show', 'id' => 1, 'show' => 2])
получить должны в итоге
catalog/show?id=1&show=2
Ну вот как-то так. Без указания действия в правилах ничего не получится.
Виртуальный выделенный сервер (VDS) становится отличным выбором
ЗдравствуйтеВозникает ошибка при выполнение некоторых запросов с большими числами
Есть PHP-скрипт, который вызывает системные команды; в нём нужно обработать некоторые данные, которые должен ввести пользовательПример на Bash:
Приветствую друзьяЕсть одностраничный сайт, где единственная страница index