src/Controller/TemoignageController.php line 12

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Pimcore\Controller\FrontendController;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use Pimcore\Model\DataObject;
  8. date_default_timezone_set('Europe/Brussels');
  9. class TemoignageController extends FrontendController
  10. {
  11.     /**
  12.      * @Template
  13.      * @param Request $request
  14.      * @return array
  15.      */
  16.     public function listAction(Request $request, \Knp\Component\Pager\PaginatorInterface $paginator)
  17.     {
  18.         
  19.         $temoignages = new DataObject\Temoignage\Listing();
  20.         $temoignages->setOrderKey('date');
  21.         $temoignages->setOrder('Desc');
  22.         $temoignages->load();
  23.         $countPerPage = intval($this->document->getProperty("temoignageItemCountPerPage"));
  24.         if(!$countPerPage) :
  25.             $countPerPage = 3;
  26.         endif;
  27.         $paginator = $paginator->paginate(
  28.             $temoignages,
  29.             $request->get('page', 1),
  30.             $countPerPage
  31.         );
  32.         return $this->render('temoignages/list.html.twig', [
  33.             'paginator' => $paginator,
  34.             'paginationVariables' => $paginator->getPaginationData(),
  35.             'temoignages' => $temoignages
  36.         ]);
  37.         
  38.     }
  39.   
  40.     /**
  41.      * @Template
  42.      * @param Request $request
  43.      * @route("/{_locale}/temoignage/{slug}/{id}", name="temoignagesDetail",methods={"GET"})
  44.      * @return array
  45.      */
  46.     public function detailAction(Request $request)
  47.     {
  48.         $id = $request->get('id');
  49.         $temoignage = DataObject\Temoignage::getById($id);
  50.         return $this->render('temoignages/detail.html.twig', [
  51.             'temoignage' => $temoignage
  52.         ]);
  53.     }
  54.     /**
  55.      * @Template
  56.      * @param Request $request
  57.      * @return array
  58.      */
  59.     public function snippetAction(Request $request)
  60.     {
  61.         $lasttemoignage = new DataObject\Temoignage\Listing();
  62.         $lasttemoignage->setOrderKey('date');
  63.         $lasttemoignage->setOrder('Asc');
  64.         $countPerPage = intval($this->document->getProperty("lasttemoignageItemCountPerPage"));
  65.         $lasttemoignage->setLimit($countPerPage);
  66.         $lasttemoignage->load();
  67.         return $this->render('snippets/last-temoignages.html.twig', [
  68.             'lasttemoignage' => $lasttemoignage
  69.         ]);
  70.     }
  71. }