From cb60642d153f0bb36a8d1fd2e78be6eb9e5bef05 Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Thu, 11 Oct 2018 09:57:27 +0200 Subject: [PATCH] add a convenience method to get the parent form in Twig templates --- src/Symfony/Bridge/Twig/CHANGELOG.md | 5 +++++ src/Symfony/Bridge/Twig/Extension/FormExtension.php | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/src/Symfony/Bridge/Twig/CHANGELOG.md b/src/Symfony/Bridge/Twig/CHANGELOG.md index 2982e6b66f71a..e81b36cdab791 100644 --- a/src/Symfony/Bridge/Twig/CHANGELOG.md +++ b/src/Symfony/Bridge/Twig/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +4.3.0 +----- + + * added the `parent_form()` function that allows to reliably retrieve the parent form in Twig templates + 4.2.0 ----- diff --git a/src/Symfony/Bridge/Twig/Extension/FormExtension.php b/src/Symfony/Bridge/Twig/Extension/FormExtension.php index f7429ad3bbb4c..1b2e71c48d264 100644 --- a/src/Symfony/Bridge/Twig/Extension/FormExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/FormExtension.php @@ -54,6 +54,7 @@ public function getFunctions() new TwigFunction('form_start', null, ['node_class' => 'Symfony\Bridge\Twig\Node\RenderBlockNode', 'is_safe' => ['html']]), new TwigFunction('form_end', null, ['node_class' => 'Symfony\Bridge\Twig\Node\RenderBlockNode', 'is_safe' => ['html']]), new TwigFunction('csrf_token', ['Symfony\Component\Form\FormRenderer', 'renderCsrfToken']), + new TwigFunction('parent_form', 'Symfony\Bridge\Twig\Extension\twig_get_parent_form'), ]; } @@ -115,3 +116,11 @@ function twig_is_root_form(FormView $formView) { return null === $formView->parent; } + +/** + * @internal + */ +function twig_get_parent_form(FormView $formView): ?FormView +{ + return $formView->parent; +}