Isolution666
@Isolution666
Full-Stack Developer

Yii2 как передать данные из БД в layout один раз?

Здравствуйте.
--
Есть решение, позволяющее выводит контент в лэйаут:
// в контроллере
public $test

public function actionIndex(){
  $this->test = // присвоить значение, или результат работы метода
}

// в шаблоне 
        if(isset($this->context->test) && $this->context->test != null)
        {
            echo $this->context->test;
        }

Это означает, что если я забуду в контроллере, а точнее в конкретном экшене указать эту конструкцию, то сайт на данной странице просто рухнет, хотелось бы знать, как вывести это один раз в лэйаут, не повторяясь в экшенах, и не выводя прямой запрос к бд, по типу:

$x = Site::find()->where(['public' => $act])->all();


Если другого способа нет, просто напишите так, коротко и ясно. Благодарю за терпимость к вопросу и уважение к желанию кодить правильно.
  • Вопрос задан
  • 183 просмотра
Решения вопроса 1
qonand
@qonand
Software Engineer
Создайте виджет выполняющий нужный Вам функционал и выводите его в слое
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы