瀏覽代碼

[Form] Fix children implementation, setChildren() is not used, the attribute "fields" is.

Benjamin Eberlei 14 年之前
父節點
當前提交
73d8470a76

+ 0 - 2
src/Symfony/Component/Form/Renderer/FormRendererInterface.php

@@ -18,8 +18,6 @@ interface FormRendererInterface
 {
     function setForm(FormInterface $form);
 
-    function setChildren(array $renderers);
-
     /**
      * Has this renderer a specific var?
      *

+ 4 - 9
src/Symfony/Component/Form/Renderer/ThemeRenderer.php

@@ -43,8 +43,6 @@ class ThemeRenderer implements FormRendererInterface, \ArrayAccess
      */
     private $rendered = false;
 
-    private $children = array();
-
     public function __construct(FormThemeFactoryInterface $themeFactory, $template = null)
     {
         $this->themeFactory = $themeFactory;
@@ -85,11 +83,6 @@ class ThemeRenderer implements FormRendererInterface, \ArrayAccess
         $this->form = $form;
     }
 
-    public function setChildren(array $renderers)
-    {
-        $this->children = $renderers;
-    }
-
     public function setTemplate($template)
     {
         $this->setTheme($this->themeFactory->create($template));
@@ -220,12 +213,14 @@ class ThemeRenderer implements FormRendererInterface, \ArrayAccess
 
     public function offsetGet($name)
     {
-        return $this->children[$name];
+        $this->initialize();
+        return $this->vars['fields'][$name];
     }
 
     public function offsetExists($name)
     {
-        return isset($this->children[$name]);
+        $this->initialize();
+        return isset($this->vars['fields'][$name]);
     }
 
     public function offsetSet($name, $value)