Как подменить ID на текст в УРЛе Yii2?

Доброго времени суток.
Проблема, в общем, вот в чем:

Контент страницы загружается по ID
test.loc/kontent/3

Хочу сделать чтобы вместо ID был ЧПУ текст, например
test.loc/kontent/novost

Подскажите, пожалуйста как это можно реализовать в yii2?

'urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing' => false,
            'suffix' => '',
            'rules' => [
                ''=>'site/index',
                'news'=>'news/index',
                'articles'=>'articles/index',                
                'contact-us'=>'site/contact',                
                'comments'=>'comment/index',
                'kontent'=>'kontent/index',                
                'kontent/<id:\d+>'=>'action/view',            
            ],
        ],


Спасибо!
  • Вопрос задан
  • 632 просмотра
Пригласить эксперта
Ответы на вопрос 2
qonand
@qonand
Software Engineer
для этого необходимо реализовать собственный класс url-правил который будет преобразовывать id в необходимый Вам алиас, и наоборот
Ответ написан
@miserenkov
Middle PHP Developer
'urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing' => false,
            'suffix' => '',
            'rules' => [
                // ...            
                'kontent/<id:[\w+]>'=>'action/view',            
            ],
        ],

И при генерации урла, вместо id подставляете нужный алиас
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы