src/Controller/Front/Blog/BlogController.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Front\Blog;
  3. use App\Entity\Page\Page;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use App\Controller\Front\ApplicationController;
  6. use Symfony\Component\HttpFoundation\Response;
  7. class BlogController extends ApplicationController
  8. {
  9.     private const BLOG_TEMPLATE_PATH = 'front/blog/blog.twig';
  10.     private const BLOG_ITEM_TEMPLATE_PATH = 'front/blog/blog_item.twig';
  11.     private const LIMIT_BLOG = 9;
  12.     public function showBlogAction(Request $request, Page $page): Response
  13.     {
  14.         $params                             =           $request->attributes->get('originalRequest')->query->all();
  15.         $error                              =           (string)$request->request->get('error');
  16.         $locale                             =           $request->getLocale();
  17.         $viewParams                         =           $this->createViewParams($request,$error,$page);
  18.         $pages                              =           isset($params['page'])? $params['page']:1;
  19.         $industry                           =           null;
  20.         $category                           =           '';
  21.         $viewParams['blogs']                =           $this->blogRepository->getAllBlogs($industry, $category, $pages);
  22.         $viewParams['industrys']            =           $this->itemCategoryProvider->getAllRelationNull();
  23.         $viewParams['thisPage']             =           isset($params['page'])?$params['page']:1;
  24.         $viewParams['maxPages']             =           ceil(count($viewParams['blogs'])/ self::LIMIT_BLOG) < 1 ? 1 : ceil(count($viewParams['blogs'])/self::LIMIT_BLOG);
  25.         if(isset($params['industry'])       || isset($params['category']))
  26.         {
  27.             $category                       =           isset($params['category'])? $params['category']:'';
  28.             $pages                          =           isset($params['page'])? $params['page']:1;
  29.             $searchIndustry                 =           $params['industry']??'';
  30.             $industry                       =           $this->itemCategoryProvider->getOneByName($searchIndustry);
  31.             $viewParams['blogs']            =           $this->blogRepository->getAllBlogs($industry, $category, $pages);
  32.             $viewParams['totalOffers']      =           $viewParams['blogs']->count();
  33.             $viewParams['iterator']         =           $viewParams['blogs']->getIterator();
  34.             $viewParams['maxPages']         =           ceil(count($viewParams['blogs'])/self::LIMIT_BLOG) < 1 ? 1 : ceil(count($viewParams['blogs'])/self::LIMIT_BLOG);
  35.             $viewParams['thisPage']         =           isset($params['page'])?$params['page']:1;
  36.             return $this->render(self::BLOG_TEMPLATE_PATH, $viewParams);
  37.         }
  38.        
  39.         return $this->render(self::BLOG_TEMPLATE_PATH, $viewParams);
  40.     }
  41.     public function showEntryBlogAction(Request $request, Page $page): Response
  42.     {
  43.         $error                              =           (string)$request->request->get('error');
  44.         $locale                             =           $request->getLocale();
  45.         $viewParams                         =           $this->createViewParams($request,$error,$page);
  46.         $viewParams['blog']                 =           $page->getBlog();
  47.         return $this->render(self::BLOG_ITEM_TEMPLATE_PATH, $viewParams);
  48.     }
  49. }