/** * @param Tag $tag * @param int $page * * @Route("/tag/list/{slug}/{page}", name="tag_entries", defaults={"page" = "1"}) * @ParamConverter("tag", options={"mapping": {"slug": "slug"}}) * * @return \Symfony\Component\HttpFoundation\Response */ public function showEntriesForTagAction(Tag $tag, $page, Request $request) { $entriesByTag = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entry')->findAllByTagId($this->getUser()->getId(), $tag->getId()); $pagerAdapter = new ArrayAdapter($entriesByTag); $entries = $this->get('wallabag_core.helper.prepare_pager_for_entries')->prepare($pagerAdapter, $page); try { $entries->setCurrentPage($page); } catch (OutOfRangeCurrentPageException $e) { if ($page > 1) { return $this->redirect($this->generateUrl($request->get('_route'), ['slug' => $tag->getSlug(), 'page' => $entries->getNbPages()]), 302); } } return $this->render('WallabagCoreBundle:Entry:entries.html.twig', ['form' => null, 'entries' => $entries, 'currentPage' => $page, 'tag' => $tag->getLabel()]); }