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; +}