Всем привет. Интересует следующее. Вот здесь https://github.com/samdark/yii2-cookbook/blob/master/book/response-formats.md нашел интерсную вещь. Но вопрос в том как быть если отдаем html ? Т.е. к примеру сейчас приходится писать так в каждом экшене:
public function actionIndex()
{
$items = Items::find()->all();
if( $items !== null )
{
if ( Yii::$app->request->isAjax )
{
return $this->renderAjax( 'items/index', [ 'items' => $items ] );
}
else
{
return $this->render( 'items/index', [ 'items' => $items ] );
}
}
}
Можно как-то глобально задать это, что бы не проверять в каждом экшене ajax или нет ? Т.е. где-то указали если ajax используем renderAjax, если обычный запрос, отдаем через render. А в самом экшене писать вроде такого:
public function actionIndex()
{
$items = Items::find()->all();
if( $items !== null )
{
return $this->view( 'items/index', [ 'items' => $items ] );
}
}
P.S: можно как-то так:
К примеру в BaseController
public function view( $partial, $data )
{
if ( Yii::$app->request->isAjax )
{
return $this->renderAjax( $partial, $data );
}
else
{
return $this->render( $partial, $data );
}
}
Но мне не очень нравиться такой вариант. Что-то подсказывает что в Yii2 из коробки есть более правильное решение ?