/** * List of speakers for event * * @param Event $event Event * @param int $count Count * * @return array * * @Template() */ public function widgetAction(Event $event, $count) { $speakers = $event->getSpeakers()->getValues(); if ($count > 1) { shuffle($speakers); $speakers = array_slice($speakers, 0, $count); } return array('event' => $event, 'speakers' => $speakers); }
/** * Event page submenu * * @param Request $request Request * @param Event $event Event * * @return \Knp\Menu\MenuItem */ public function createEventSubMenu(Request $request, Event $event) { $menu = $this->factory->createItem('root'); $menu->setUri($request->getRequestUri()); $menu->addChild("О событии", array('route' => 'event_show', 'routeParameters' => array('event_slug' => $event->getSlug()))); if ($event->getSpeakers()) { $menu->addChild("Докладчики", array('route' => 'event_speakers', 'routeParameters' => array('event_slug' => $event->getSlug()))); } if ($event->getTickets()) { $menu->addChild("Участники", array('route' => 'event_participants', 'routeParameters' => array('event_slug' => $event->getSlug()))); } // ссылки на страницы ивента foreach ($event->getPages() as $page) { if ($page->isShowInMenu()) { $menu->addChild($page->getTitle(), array('route' => 'event_page_show', 'routeParameters' => array('event_slug' => $event->getSlug(), 'page_slug' => $page->getSlug()))); } } return $menu; }