src/AppBundle/Controller/DefaultController.php line 13

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace AppBundle\Controller;
  4. use Pimcore\Model\Document;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. class DefaultController extends BaseController
  8. {
  9.     public function defaultAction(Request $request): Response
  10.     {
  11.         $document $request->attributes->get('document')
  12.             ?? $request->attributes->get('contentDocument')
  13.             ?? $request->attributes->get('routeDocument');
  14.         if ($document instanceof Document) {
  15.             $template $document->getTemplate();
  16.             if ($template) {
  17.                 return $this->render($template);
  18.             }
  19.         }
  20.         // Check for template in attributes (common in Pimcore 10)
  21.         foreach (['template''_template''contentTemplate'] as $attr) {
  22.             if ($request->attributes->has($attr)) {
  23.                 $template $request->attributes->get($attr);
  24.                 if (is_object($template) && method_exists($template'getTemplate')) {
  25.                     $template $template->getTemplate();
  26.                 }
  27.                 if ($template && is_string($template)) {
  28.                     return $this->render($template);
  29.                 }
  30.             }
  31.         }
  32.         return new Response('DefaultController: No template found. Document: ' . ($document get_class($document) : 'none'));
  33.     }
  34. }