Склеивание вывода в одну страницу

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Alert230
Сообщения: 51
Зарегистрирован: 2018.03.09, 13:34

Склеивание вывода в одну страницу

Сообщение Alert230 » 2019.08.15, 09:49

Добрый день!
Прошу совета как поступить в следующей ситуации: нужно склеить в 1 вывод несколько view-файлов. Хочу сделать аналог "ленты", как в соц сетях.

Я попробовал отгенерировать так:

Код: Выделить всё

            $result = $this->render('dashboard_n',['fabrika'=>$fabrika]);
            $result .= $this->render('dashboard_af');
Конечно же, во втором рендере он снофа формирует страницу. И на экране задваивается.
Как поступить?

yiiliveext
Сообщения: 175
Зарегистрирован: 2019.08.13, 01:49

Re: Склеивание вывода в одну страницу

Сообщение yiiliveext » 2019.08.15, 10:41

Рендерите в контроллере общую вьюху

Код: Выделить всё

$this->render('dashboard',['fabrika'=>$fabrika]);
Внутри общей вьюхи рендерите частичные представления

Код: Выделить всё

$this->render('dashboard_n',['fabrika'=>$fabrika]);
$this->render('dashboard_af');
Последний раз редактировалось yiiliveext 2019.08.17, 13:01, всего редактировалось 1 раз.

Alert230
Сообщения: 51
Зарегистрирован: 2018.03.09, 13:34

Re: Склеивание вывода в одну страницу

Сообщение Alert230 » 2019.08.15, 10:58

большое спасибо

revenger
Сообщения: 3
Зарегистрирован: 2019.08.12, 11:31
Контактная информация:

Re: Склеивание вывода в одну страницу

Сообщение revenger » 2019.08.16, 13:47

Как вариант, делаете некую вьюх которую рендерите в контроллере и уже в нее подключаете все другие вьюхи.

<? echo \Yii::$app->view->render('index',[]); // вьюха 1?>
<? echo \Yii::$app->view->render('index',[]); // вьюха 2?>
***
<? echo \Yii::$app->view->render('index',[]); // вьюха n?>

Ответить