diff --git a/lib/RoadizRozierBundle/src/TwigExtension/RozierExtension.php b/lib/RoadizRozierBundle/src/TwigExtension/RozierExtension.php index be7b5186c..bb183c5a7 100644 --- a/lib/RoadizRozierBundle/src/TwigExtension/RozierExtension.php +++ b/lib/RoadizRozierBundle/src/TwigExtension/RozierExtension.php @@ -17,6 +17,7 @@ use RZ\Roadiz\RozierBundle\TranslateAssistant\NullTranslateAssistant; use RZ\Roadiz\RozierBundle\TranslateAssistant\TranslateAssistantInterface; use RZ\Roadiz\RozierBundle\Vite\JsonManifestResolver; +use Symfony\Component\HttpFoundation\RequestStack; use Twig\Extension\AbstractExtension; use Twig\Extension\GlobalsInterface; use Twig\TwigFunction; @@ -30,12 +31,17 @@ public function __construct( private readonly TranslateAssistantInterface $translateAssistant, private readonly BookmarkCollection $bookmarkCollection, private readonly BreadcrumbsItemFactoryInterface $breadcrumbItemFactory, + private readonly RequestStack $requestStack, ) { } #[\Override] public function getGlobals(): array { + $request = $this->requestStack->getCurrentRequest(); + /* @phpstan-ignore-next-line */ + $isIframe = '1' === $request?->query->get('iframe') ?? false; + return [ 'rozier' => $this->rozierServiceRegistry, 'nodeStatuses' => NodeStatus::allLabelsAndValues(), @@ -52,6 +58,7 @@ public function getGlobals(): array ], 'translateAssistantEnabled' => !$this->translateAssistant instanceof NullTranslateAssistant, 'translateAssistantSupportRephrase' => $this->translateAssistant->supportRephrase(), + 'isIframe' => $isIframe, ]; } diff --git a/lib/RoadizRozierBundle/templates/iframe.html.twig b/lib/RoadizRozierBundle/templates/iframe.html.twig new file mode 100644 index 000000000..747e58077 --- /dev/null +++ b/lib/RoadizRozierBundle/templates/iframe.html.twig @@ -0,0 +1,213 @@ +{% set formattedLocale = app.request.locale|replace({'_': '-'})|lower %} + + +
+ + +