src/Controller/NewsController.php line 28

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Website\LinkGenerator\NewsLinkGenerator;
  4. use App\Website\Navigation\BreadcrumbHelperService;
  5. use Pimcore\Model\DataObject;
  6. use Pimcore\Model\DataObject\News;
  7. use Pimcore\Model\Site;
  8. use Pimcore\Twig\Extension\Templating\HeadTitle;
  9. use Pimcore\Twig\Extension\Templating\Placeholder;
  10. use Symfony\Component\HttpFoundation\JsonResponse;
  11. use Symfony\Component\HttpFoundation\Request;
  12. use Symfony\Component\HttpFoundation\Response;
  13. use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
  14. use Symfony\Component\Routing\Annotation\Route;
  15. use Knp\Component\Pager\PaginatorInterface;
  16. class NewsController extends BaseController
  17. {
  18.     /**
  19.      * @param Request $request
  20.      *
  21.      * @return Response
  22.      *
  23.      * @throws \Exception
  24.      */
  25.     public function overviewAction(Request $requestPaginatorInterface $paginator)
  26.     {
  27.         $requestPage 0;
  28.         $requestArticles 12;
  29.         $news = [];
  30.         if($this->document->hasChildren()){
  31.             $getchildDocs $this->document->getChildren();
  32.             if($getchildDocs){
  33.                 foreach ($getchildDocs as $getchildDoc){
  34.                     if($getchildDoc->getEditable('publicationDate') != ''){
  35.                         $childTimeStamp $getchildDoc->getEditable('publicationDate')->getData()->timestamp;
  36.                     }
  37.                     $news[$childTimeStamp.'-'.$getchildDoc->getId()] = $getchildDoc;
  38.                 }
  39.             }
  40.             krsort($news);
  41.             if($request->isXmlHttpRequest() && $request->get('requestArticles')){
  42.                 $requestPage $request->get('requestArticles') * $requestArticles;
  43.             }
  44.             $news array_slice($news$requestPage$requestArticles);
  45.             if($request->isXmlHttpRequest()){
  46.                 $result $this->renderView('includes/news/detail.html.twig',
  47.                     [
  48.                         'language' => $this->language,
  49.                         'news' => $news
  50.                     ]
  51.                 );
  52.                 if($news){
  53.                     $respond['result'] = $result;
  54.                 }else{
  55.                     $respond['noresult'] = '<div class="col-md-12">'.$this->translator->trans('Geen nieuws teruggevonden.').'</div>';
  56.                 }
  57.                 return new JsonResponse($respond);
  58.             }
  59.         }
  60.         return $this->render('news/overview.html.twig', [
  61.             'news' => $news
  62.         ]);
  63.     }
  64.     /**
  65.      *
  66.      * @param Request $request
  67.      * @return Response
  68.      */
  69. //    public function detailAction(Request $request, HeadTitle $headTitleHelper, Placeholder $placeholderHelper, NewsLinkGenerator $newsLinkGenerator, BreadcrumbHelperService $breadcrumbHelperService)
  70.     public function detailAction(Request $request)
  71.     {
  72.         return $this->render('news/detail.html.twig');
  73.     }
  74. }