@Kekoc

Как изменить Get запрос yii2 через urlmanager?

Здравствуйте.
Необходимо изменить вид get запроса к функции контроллера. Есть контроллер и функция actionSay
public function actionSay($message="Hello world"){

        return $this->render('say',['messager'=>$message,'meta'=>'METATEST']);
    }


Сейчас он выполняется так.
mysite/say?message=123
Будет выведено сообщение 123 во вьюхе
Как изменить urlManager чтобы запрос выглядел так -> mysite/say/123 или
mysite/say/message/123 ?
'components' => [

        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName'=>false,
            'enableStrictParsing' => true,
          //  'class' => 'yii\web\UrlManager',
           'rules' => [
               '<action>'=>'site/<action>',
               '' => 'site/index',

            ],
            // ...
        ],

Так выглядит urlManager
  • Вопрос задан
  • 2500 просмотров
Решения вопроса 1
Terminaft
@Terminaft
В конфиге:
'rules' => [
     '' => 'site/index', // можно убрать и задать 'defaultRoute' => 'site/index' в конфиге
     'say/<message>' => 'site/say',
     //'say/message/<message>' => 'site/say',
],


В контроллере:
public function actionSay($message) // не уверен насчет задания значения по умолчанию, надо Вам проверить
{
     return $this->render('say', ['messager' => $message, 'meta' => 'METATEST']);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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