From b680946dafb94908284b72ada9ec72f14dec10e0 Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Tue, 14 May 2024 22:13:36 +0200 Subject: [PATCH] block builder: add test to check if the widget exists --- src/core/BuilderBlock/BuilderBlockContainer.php | 5 +++++ src/core/Twig/Extension/BuilderExtension.php | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/src/core/BuilderBlock/BuilderBlockContainer.php b/src/core/BuilderBlock/BuilderBlockContainer.php index 0a2e4ff..78b303b 100644 --- a/src/core/BuilderBlock/BuilderBlockContainer.php +++ b/src/core/BuilderBlock/BuilderBlockContainer.php @@ -20,6 +20,11 @@ class BuilderBlockContainer return $this->widgets; } + public function hasWidget(string $name) + { + return isset($this->widgets[$name]); + } + public function getWidget(string $name): BuilderBlock { return $this->widgets[$name]; diff --git a/src/core/Twig/Extension/BuilderExtension.php b/src/core/Twig/Extension/BuilderExtension.php index 1730a11..b4671b3 100644 --- a/src/core/Twig/Extension/BuilderExtension.php +++ b/src/core/Twig/Extension/BuilderExtension.php @@ -30,6 +30,10 @@ class BuilderExtension extends AbstractExtension } if (isset($data['widget'])) { + if (!$this->container->hasWidget($data['widget'])) { + return ''; + } + $widget = $this->container->getWidget($data['widget']); $widget->buildVars($data);