/** * Renders a Kpi block for a given legacy controller name. * * @param RenderingHookEvent $event * @throws \Exception */ public function renderKpi(RenderingHookEvent $event) { if (!array_key_exists('kpi_controller', $event->getHookParameters())) { throw new \Exception('The legacy_kpi hook need a kpi_controller parameter (legacy controller full class name).'); } $controller = $event->getHookParameters()['kpi_controller']; $controller = new $controller('new-theme'); $event->setContent($controller->renderKpis()); }
/** * Creates a RenderingHookEvent, sets its parameters, and dispatches it. Returns the event with the response(s). * * @param string $eventName The hook name. * @param array $parameters Hook parameters * @return Event The event that has been passed to each listener. Contains the responses. * @throws \Exception */ public function renderForParameters($eventName, array $parameters = array()) { $event = new RenderingHookEvent(); $event->setHookParameters($parameters); return $this->dispatch($eventName, $event); }