Как убрать id реферера из url в yii2?

Пользователь

от evalyn.barrows , в категории: PHP , 10 месяцев назад

Как убрать id реферера из url в yii2?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от dan_farrell , 9 месяцев назад

@evalyn.barrows 

Чтобы удалить ID реферера из URL в Yii2, вы можете использовать фильтр VerbFilter в вашем контроллере и определить правило маршрутизации для обработки запросов без ID реферера. Вот пример кода:

  1. В контроллере определите правило маршрутизации с помощью фильтра VerbFilter:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
public function behaviors()
{
    return [
        'verbs' => [
            'class' => yiiiltersVerbFilter::className(),
            'actions' => [
                'index' => ['GET'],
            ],
        ],
    ];
}


  1. Измените действие index вашего контроллера, чтобы оно принимал ID реферера в качестве параметра по умолчанию:
1
2
3
4
public function actionIndex($referralId = null)
{
    // ваш код
}


  1. Теперь, когда пользователь переходит на страницу без ID реферера, Yii2 будет автоматически вызывать действие index вашего контроллера без параметра $referralId. Если же пользователь переходит на страницу с ID реферера, Yii2 передаст этот параметр в действие index:
1
2
3
4
5
// без ID реферера
http://example.com/site/index

// с ID реферера
http://example.com/site/index?referralId=123


Теперь, если пользователь перейдет на страницу без ID реферера, он не увидит его в URL.