Yii2 повторное использование кода

263
15 ноября 2017, 02:09

На стороне контроллера получаю данные и отправляю их в виде массивов в вид. В виде из массива начинаю делать карточки товаров. Пытаюсь вынести логику создания карточки в отдельный вид, создать функцию, чтобы можно было

$this->layout = false;
return $this->render('page', compact('data'));

получить готовый HTML и вставлять его где нужно. Пробовал писать на стороне контроллера статические функции и вызывать из из вида, но так ведь не хорошо. Да и начинается, что статические функции не могут обращаться не к статическим и т.п. Да и в статическом методе не получается $this->layout = false; и всё что связано с $this.

Словом, как быть? Как можно реализовать?

Answer 1

Нужно просто создать отдельный view с карточкой товара, и в других вьюхах в любом нужном месте вставлять его: <?= $this->render('card_item', ['good' => $good]) ?>

Answer 2

Можно сделать виджет еще. Если например будет встречаться карточка в разных контролах.

READ ALSO
Получение значения href при парсинге

Получение значения href при парсинге

Делаю парсер при помощи Symfony/Domcrawler и есть необходимость получить значение href некоторых элементовКак это сделать?

228
Нужна помощь в установке композера

Нужна помощь в установке композера

Недавно наткнулся на composer, а установить не могу, командную консоль никогда не использовалУстановка с офф

296
&ldquo;Разрезать&rdquo; ссылку средствами PHP

“Разрезать” ссылку средствами PHP

Подскажите пожалуйста, как разрезать ссылку такого формата

273
Проблема с выводом json массива

Проблема с выводом json массива

Всем приветТакая проблемка, с сервера загружаю объявления, в том числе и пути к изображениям

273