From 52f56c78c3afc849832efe3ab159d69bc4783424 Mon Sep 17 00:00:00 2001 From: Massimiliano Arione Date: Sat, 7 Sep 2024 15:53:58 +0200 Subject: [PATCH] import filter --- src/Knp/Menu/Resources/views/knp_menu.html.twig | 2 ++ src/Knp/Menu/Twig/MenuExtension.php | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/src/Knp/Menu/Resources/views/knp_menu.html.twig b/src/Knp/Menu/Resources/views/knp_menu.html.twig index c15a87cb..bb20becb 100644 --- a/src/Knp/Menu/Resources/views/knp_menu.html.twig +++ b/src/Knp/Menu/Resources/views/knp_menu.html.twig @@ -9,7 +9,9 @@ {% endmacro %} {% block compressed_root %} +{% apply knp_menu_spaceless %} {{ block('root') }} +{% endapply %} {% endblock %} {% block root %} diff --git a/src/Knp/Menu/Twig/MenuExtension.php b/src/Knp/Menu/Twig/MenuExtension.php index 25d2c590..9829cfe0 100644 --- a/src/Knp/Menu/Twig/MenuExtension.php +++ b/src/Knp/Menu/Twig/MenuExtension.php @@ -36,6 +36,7 @@ public function getFilters(): array { return [ new TwigFilter('knp_menu_as_string', [$this, 'pathAsString']), + new TwigFilter('knp_menu_spaceless', [$this, 'spaceless'], ['is_safe' => ['html']]), ]; } @@ -146,4 +147,9 @@ public function isAncestor(ItemInterface $item, ?int $depth = null): bool return $this->matcher->isAncestor($item, $depth); } + + public function spaceless(string $content): string + { + return trim(preg_replace('/>\s+<', $content)); + } }