Pārlūkot izejas kodu

[Form] The variable stack should not persist between section rendering (fixes #1157)

Victor Berchet 14 gadi atpakaļ
vecāks
revīzija
b61929bf4a

+ 2 - 0
src/Symfony/Bridge/Twig/Extension/FormExtension.php

@@ -212,6 +212,8 @@ class FormExtension extends \Twig_Extension
 
                 $html = $templates[$block]->renderBlock($block, $this->varStack[$view]);
 
+                unset($this->varStack[$view]);
+
                 return $html;
             }
         }

+ 1 - 0
src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php

@@ -140,6 +140,7 @@ class FormHelper extends Helper
         $html = $this->engine->render($template, $this->varStack[$view]);
 
         array_pop($this->viewStack);
+        unset($this->varStack[$view]);
 
         return $html;
     }

+ 3 - 1
tests/Symfony/Tests/Component/Form/AbstractLayoutTest.php

@@ -130,7 +130,9 @@ abstract class AbstractLayoutTest extends \PHPUnit_Framework_TestCase
         $form = $this->factory->createNamed('text', 'na&me', null, array(
             'property_path' => 'name',
         ));
-        $html = $this->renderLabel($form->createView());
+        $view = $form->createView();
+        $this->renderWidget($view, array('label' => 'foo'));
+        $html = $this->renderLabel($view);
 
         $this->assertMatchesXpath($html,
 '/label