Настройка роутинга

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
oxfree
Сообщения: 17
Зарегистрирован: 2015.10.31, 05:17

Настройка роутинга

Сообщение oxfree »

Здравствуйте.
У меня возник вопрос по настройке URL, есть условно таблица со списком тестов, которая имеет столбцы 'id','name','alias'. Страница конкретного теста имеет путь /test/index?test_id=1. Как мне настроить правила роутинга, чтобы ссылка имела вид /test/алиас_конкретного_теста? Заранее спасибо.
Аватара пользователя
ksetrin
Сообщения: 81
Зарегистрирован: 2015.03.06, 10:00
Контактная информация:

Re: Настройка роутинга

Сообщение ksetrin »

В конфиге

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

'enablePrettyUrl' => true,
  'showScriptName' => false,
  'enableStrictParsing' => true,
    'rules' => [
      'test/<alias:[\w-]+>' => 'test/view',
    ]
В контроллере

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

    public function actionView($alias)
    {
        return $this->render('view', [
            'model' => $this->findModel($alias),
        ]);
    }
    protected function findModel($alias)
    {
        if (($model = Test::findOne(['alias' => $alias])) !== null) {
            return $model;
        } else {
            throw new NotFoundHttpException('404');
        }
    }
Ответить