src/DcSiteBundle/Controller/Toyota/PostController.php line 29

Open in your IDE?
  1. <?php
  2. namespace DcSiteBundle\Controller\Toyota;
  3. use CoreBundle\Component\CoreFormFactory;
  4. use CoreBundle\Component\FormManager;
  5. use CoreBundle\Factory\Vehicle as VehicleFactory;
  6. use CoreBundle\Model\Api\OnlineService\ApiServer1C;
  7. use CoreBundle\Model\Post;
  8. use CoreBundle\Model\Vehicles\Repository;
  9. use CoreBundle\Services\MediaExtensionVidi;
  10. use Doctrine\ORM\EntityManagerInterface;
  11. use PortalBundle\Model\SeoMetaTag;
  12. use Symfony\Component\Filesystem\Filesystem;
  13. use Symfony\Component\HttpFoundation\Request;
  14. use Symfony\Component\HttpFoundation\RequestStack;
  15. use Symfony\Component\HttpFoundation\Response;
  16. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  17. use Symfony\Component\Routing\RouterInterface;
  18. use Twig\Environment;
  19. class PostController extends BaseController
  20. {
  21.     public function __construct(CoreFormFactory $coreFormFactorySeoMetaTag $seoMetaTagRequestStack $requestStackRouterInterface $routerFormManager $formManagerEntityManagerInterface $emApiServer1C $apiServer1CSessionInterface $sessionFilesystem $filesystemMediaExtensionVidi $mediaExtensionVidiRepository $vehicleRepositoryVehicleFactory $vehicleFactoryEnvironment $twig)
  22.     {
  23.         parent::__construct($coreFormFactory$seoMetaTag$requestStack$router$formManager$em$apiServer1C$session$filesystem$mediaExtensionVidi$vehicleRepository$vehicleFactory$twig);
  24.     }
  25.     public function actionSingle(Request $requestPost $modelstring $url)
  26.     {
  27.         $media $this->mediaExtensionVidi;
  28.         $post $model->initByUrl($this->getDealer(), $urlPost::POST_TYPE_ACTIONS);
  29.         if (empty($post)) {
  30.             throw $this->createNotFoundException();
  31.         }
  32.         return $this->baseToyotaRender('@DcSite/Toyota/Stocks/single-post.html.twig', [
  33.             'isNews' => $model->isNews(),
  34.             'post' => [
  35.                 'seoTitle' => $post->getSeoTitle($request->getLocale()),
  36.                 'seoDescription' => $post->getSeoDescription($request->getLocale()),
  37.                 'title' => $post->getTitle($request->getLocale()),
  38.                 'dateStart' => $post->getDateStart(),
  39.                 'content' => $post->getContent($request->getLocale()),
  40.                 'image' => $media->getPath($post->getImage($request->getLocale()), 'reference'),
  41.                 'image_webp' => $media->pathWebp($post->getImage($request->getLocale()), 'reference')
  42.             ]
  43.         ]);
  44.     }
  45.     public function actionList(): ?Response
  46.     {
  47.         $posts['cars'] = $this->em->getRepository(\CoreBundle\Entity\Post::class)->getActionsByDealer($this->getDealer(), Post::ACTION_TYPE_CAR);
  48.         $posts['service'] = $this->em->getRepository(\CoreBundle\Entity\Post::class)->getActionsByDealer($this->getDealer(), Post::ACTION_TYPE_SERVICE);
  49.         $posts['corporate'] = $this->em->getRepository(\CoreBundle\Entity\Post::class)->getActionsByDealer($this->getDealer(), Post::ACTION_TYPE_CORPORATE);
  50.         $posts['all'] = array_merge($posts['cars'], $posts['service'], $posts['corporate']);
  51.         return $this->baseToyotaRender('@DcSite/Toyota/Stocks/stocks.html.twig', ['posts' => $posts]);
  52.     }
  53. }