Beispiel #1
0
 /**
  * @Route("/show/{uniqID}/{page}.{_format}", name="oktothek_show_playlist", requirements={"page": "\d+"}, defaults={"page": 1, "_format": "html"})
  * @ ParamConverter("playlist", class="MediaBundle:Playlist", options={"mapping": {"playlist": "uniqID"}})
  * @Template()
  */
 public function showAction(Playlist $playlist, $page)
 {
     return ['playlist' => $playlist];
     $em = $this->getDoctrine()->getManager();
     $dql = "SELECT i FROM MediaBundle:Playlistitems i JOIN i.episode WHERE i.playlist = :playlist";
     $query = $em->createQuery($dql);
     $query->setParameter('playlist', $playlist->getId());
     $paginator = $this->get('knp_paginator');
     $items = $paginator->paginate($query, $page, 10);
     return ['playlist' => $playlist, 'items' => $items];
 }
 public function playlistDuration(Playlist $playlist)
 {
     return $this->durationCalculator->calculate($playlist->getId());
 }
 /**
  * @ParamConverter("playlist", class="AppBundle:Playlist", options={"repository_method" = "withTracks"})
  * @Cache(public=true, smaxage="86400")
  */
 public function tracksListAction(Playlist $playlist)
 {
     return $this->render('playlists/tracks-list.html.twig', ['playlistId' => $playlist->getId(), 'tracks' => $playlist->getTracks()]);
 }