Example #1
0
 /**
  * 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);
 }
Example #2
0
 /**
  * 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;
 }