<?php
namespace App\Controller;
use Pimcore\Controller\FrontendController;
use Symfony\Component\HttpFoundation\Request;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\Routing\Annotation\Route;
use Pimcore\Model\DataObject;
date_default_timezone_set('Europe/Brussels');
class TemoignageController extends FrontendController
{
/**
* @Template
* @param Request $request
* @return array
*/
public function listAction(Request $request, \Knp\Component\Pager\PaginatorInterface $paginator)
{
$temoignages = new DataObject\Temoignage\Listing();
$temoignages->setOrderKey('date');
$temoignages->setOrder('Desc');
$temoignages->load();
$countPerPage = intval($this->document->getProperty("temoignageItemCountPerPage"));
if(!$countPerPage) :
$countPerPage = 3;
endif;
$paginator = $paginator->paginate(
$temoignages,
$request->get('page', 1),
$countPerPage
);
return $this->render('temoignages/list.html.twig', [
'paginator' => $paginator,
'paginationVariables' => $paginator->getPaginationData(),
'temoignages' => $temoignages
]);
}
/**
* @Template
* @param Request $request
* @route("/{_locale}/temoignage/{slug}/{id}", name="temoignagesDetail",methods={"GET"})
* @return array
*/
public function detailAction(Request $request)
{
$id = $request->get('id');
$temoignage = DataObject\Temoignage::getById($id);
return $this->render('temoignages/detail.html.twig', [
'temoignage' => $temoignage
]);
}
/**
* @Template
* @param Request $request
* @return array
*/
public function snippetAction(Request $request)
{
$lasttemoignage = new DataObject\Temoignage\Listing();
$lasttemoignage->setOrderKey('date');
$lasttemoignage->setOrder('Asc');
$countPerPage = intval($this->document->getProperty("lasttemoignageItemCountPerPage"));
$lasttemoignage->setLimit($countPerPage);
$lasttemoignage->load();
return $this->render('snippets/last-temoignages.html.twig', [
'lasttemoignage' => $lasttemoignage
]);
}
}