/** * Получение виджетов блока без вывода. * * Для вывода данных блока * * $widget = Block::get('block_name', $params); * if(is_array($widget)) * { * foreach($widget as $data) * { * echo $data; * } * } * else * echo $widget; * * @param string $name * @param array $params Дополнительные параметры доступные в виджете * * @return array */ public function getWidgetsByBlock($name, array $params = []) { $widgets = $this->collection->getWidgetsByBlock($name); foreach ($widgets as $widget) { $widget = $widget->getObject(); $widget->setParameters($params); } return $widgets; }
/** * @return void */ public function placeWidgetsToLayoutBlocks() { $this->registeredWidgets->each(function (WidgetCollectionItem $widget) { if (($object = $widget->getObject()) instanceof WidgetRenderable) { Meta::loadPackage($object->getMediaPackages()); } }); parent::placeWidgetsToLayoutBlocks(); }