@RozmarinUS
YII2, PHP, React, TypeScript, Python hater

Как загрузить отдельный layout если Ajax запрос?

Каким образом можно подгрузить отдельный layout, если сервер передает Ajax запрос?

public function init()
{
    parent::init();

    if (Yii::$app->request->isAjax){
        $this->layout = '/ajax_page';
    }else{
        $this->layout = '/blank-panel';
    }
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Вы видимо пытаетесь в модуле сделать (судя по init), а там внутри $this - модуль (что логично). Так что надо в контролере в beforeAction:
public function beforeAction($action)
{
    $this->layout = Yii::$app->request->isAjax ? '/ajax_page' : '/blank-panel';
    return parent::beforeAction($action);
}

Но morricone85 дело говорит. Это странное дело. Если ajax, то layout в нормальных условиях не важен.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@morricone85
вам нужно layout или вид? Обычно, при аяксе используется метод renderAjax()
Ответ написан
Ваш ответ на вопрос

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

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