Browse code

Parse insert tags in controllers

Benjamin Roth authored on10/09/2025 10:21:43
Showing2 changed files
... ...
@@ -15,6 +15,7 @@ namespace vonRotenberg\ModalBundle\Controller\ContentElement;
15 15
 use Contao\ContentModel;
16 16
 use Contao\Controller;
17 17
 use Contao\CoreBundle\Controller\ContentElement\AbstractContentElementController;
18
+use Contao\CoreBundle\InsertTag\InsertTagParser;
18 19
 use Contao\CoreBundle\ServiceAnnotation\ContentElement;
19 20
 use Contao\Template;
20 21
 use Symfony\Component\HttpFoundation\Request;
... ...
@@ -28,6 +29,13 @@ class ModalElementController extends AbstractContentElementController
28 29
 {
29 30
     public const TYPE = 'modal_element';
30 31
 
32
+    private $insertTagParser;
33
+
34
+    public function __construct(InsertTagParser $insertTagParser)
35
+    {
36
+        $this->insertTagParser = $insertTagParser;
37
+    }
38
+
31 39
     protected function getResponse(Template $template, ContentModel $model, Request $request): ?Response
32 40
     {
33 41
         if (!$model->modal_configurations || ($modal = ModalModel::findPublishedById($model->modal_configurations)) === null)
... ...
@@ -46,7 +54,7 @@ class ModalElementController extends AbstractContentElementController
46 54
             {
47 55
                 while ($objElement->next())
48 56
                 {
49
-                    $strDetails .= Controller::getContentElement($objElement->current());
57
+                    $strDetails .= $this->insertTagParser->replace(Controller::getContentElement($objElement->current()));
50 58
                 }
51 59
             }
52 60
 
... ...
@@ -15,6 +15,7 @@ namespace vonRotenberg\ModalBundle\Controller\FrontendModule;
15 15
 use Contao\ContentModel;
16 16
 use Contao\Controller;
17 17
 use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
18
+use Contao\CoreBundle\InsertTag\InsertTagParser;
18 19
 use Contao\CoreBundle\ServiceAnnotation\FrontendModule;
19 20
 use Contao\ModuleModel;
20 21
 use Contao\Template;
... ...
@@ -29,6 +30,13 @@ class ModalModuleController extends AbstractFrontendModuleController
29 30
 {
30 31
     public const TYPE = 'modal_module';
31 32
 
33
+    private $insertTagParser;
34
+
35
+    public function __construct(InsertTagParser $insertTagParser)
36
+    {
37
+        $this->insertTagParser = $insertTagParser;
38
+    }
39
+
32 40
     protected function getResponse(Template $template, ModuleModel $model, Request $request): ?Response
33 41
     {
34 42
         if (!$model->modal_configurations || ($modal = ModalModel::findPublishedById($model->modal_configurations)) === null)
... ...
@@ -47,7 +55,7 @@ class ModalModuleController extends AbstractFrontendModuleController
47 55
             {
48 56
                 while ($objElement->next())
49 57
                 {
50
-                    $strDetails .= Controller::getContentElement($objElement->current());
58
+                    $strDetails .= $this->insertTagParser->replace(Controller::getContentElement($objElement->current()));
51 59
                 }
52 60
             }
53 61