src/Controller/DefaultController.php line 30

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\Document;
  8. use Pimcore\Tool;
  9. //use App\Conecto\SearchBundle\SearchServiceInterface;
  10. class DefaultController extends BaseController
  11. {
  12.     /**
  13.      * @Template
  14.      * @param Request $request
  15.      * @return array
  16.      */
  17.     public function defaultAction(Request $request)
  18.     {
  19.         return [];
  20.     }
  21.     /**
  22.      * @Template
  23.      * @param Request $request
  24.      * @return array
  25.      */
  26.     public function frontpageAction(Request $request)
  27.     {
  28.         return ['isFrontpage' => true];
  29.     }
  30.     /**
  31.      * @Template
  32.      * @param Request $request
  33.      * @return array
  34.      */
  35.     public function landingpageAction(Request $request)
  36.     {
  37.         return ['isLandingpage' => true];
  38.     }
  39.     /**
  40.      * @Template
  41.      *
  42.      * @param Request $request
  43.      * @return array
  44.      */
  45.     public function notFoundAction(Request $request)
  46.     {
  47.         // only when not in editmode, because otherwise the 404 page is not editable in backend
  48.         if($this->view->editmode !== true) {
  49.             $requestUriSegments explode('/'mb_substr($_SERVER['REQUEST_URI'], 1));
  50.             $requestUriLocale array_shift($requestUriSegments);
  51.             $validLanguages Tool::getValidLanguages();
  52.             if (in_array($requestUriLocale$validLanguages)) {
  53.                 $locale $requestUriLocale;
  54.             } else {
  55.                 $preferredUserLanguage substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 02);
  56.                 if (in_array($preferredUserLanguage$validLanguages)) {
  57.                     $locale $preferredUserLanguage;
  58.                 } else {
  59.                     $locale Tool::getDefaultLanguage();
  60.                 }
  61.             }
  62.             $errorPagePath $this->getParameter('pimcore.config')['documents']['error_pages']['default'] ?? '404';
  63.             $errorPagePathSegments explode('/'mb_substr($errorPagePath1));
  64.             $errorPagePathSegments[0] = $locale;
  65.             $errorPagePath '/' join('/'$errorPagePathSegments);
  66.             // check if is AMP
  67.             if(isset($_GET['amp']) && $_GET['amp'] == 1) {
  68.                 $this->view->isAmp true;
  69.                 $this->view->layout "Layouts/amp.html.twig";
  70.             }
  71.             $errorPageDocument Document::getByPath($errorPagePath);
  72.             return ['document' => $errorPageDocument];
  73.         }
  74.     }
  75.     /**
  76.      * @Template
  77.      *
  78.      * @param Request $request
  79.      * @return array
  80.      */
  81.     public function footerSnippetAction(Request $request)
  82.     {
  83.         if($request->get('isAmp')) {
  84.             return ['isAmp' => true];
  85.         } else {
  86.             return [];
  87.         }
  88.     }
  89.     /**
  90.      * @Template
  91.      *
  92.      * @param Request $request
  93.      * @return array
  94.      */
  95.     public function darkpageSnippetAction(Request $request)
  96.     {
  97.         return [];
  98.     }
  99.     /**
  100.      * @Template
  101.      *
  102.      * @param Request $request
  103.      * @return array
  104.     public function searchAction(Request $request, SearchServiceInterface $search)
  105.     {
  106.         $results = false;
  107.         $paginator = false;
  108.         $searchstringText = null;
  109.         if($request->query->has('q')) {
  110.             $searchstring = trim($request->get('q', ''));
  111.             if($searchstring && strlen($searchstring) > 2) {
  112.                 $searchstringText = $searchstring;
  113.                 $results = $search->getResults($searchstring);
  114.             } else {
  115.                 $this->view->searchstringTooShort = true;
  116.             }
  117.         }
  118.         if(is_array($results)) {
  119.             $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\ArrayAdapter($results));
  120.             $paginator->setCurrentPageNumber($request->get('page'));
  121.             $paginator->setItemCountPerPage(10);
  122.             $paginator->setPageRange(10);
  123.         }
  124.         return [
  125.             'searchstring'  => $searchstringText,
  126.             'results'       => $results,
  127.             'paginator'     => $paginator
  128.         ];
  129.     }
  130.      * */
  131. }