Vlastní formulářový prvek – zobrazuje se dvakrát v šabloně

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
konva
Člen | 88
+
0
-

Ahoj,

snažím se vytvořit vlastní formulářový prvek, tak aby mi vypsal několik inputů do jednoho řádku

Kód je tento

class MultiField extends Nette\Forms\Controls\BaseControl
{
	private $values;
        private $fields;

	public function __construct($label = NULL, $fields)
	{
            parent::__construct($label);
            $this->fields = $fields;
	}


        public function setValue($value)
	{
            $this->values = $value;
	}

	public function getValue()
	{
            return $this->values;
	}


	public function loadHttpData()
	{
            foreach($this->fields as $key=>$elem){
                $this->values[$key] = $this->getHttpData(Form::DATA_LINE, "$key");
            }
	}

	/**
	 * Generates control's HTML element.
	 */
	public function getControl()
	{
            $name = $this->getHtmlName();
            $element = Html::el();
            foreach($this->fields as $key=>$elem){
                $element->add(Html::el('span')->setHtml($elem)->add(Html::el('input')->name("$key")->id($this->getHtmlId())->value($this->values[$key])));
            }
            return $element;

	}

}

Ve formuláři používám i addGroup. Problém ale je, že se mi v šabloně zobrazí dané položky ve formuláři dvakrát. Jednou v dané groupě a podruhé na konci formuláře mimo všechny Group.
Poradíte kde dělám chybu?

díky
Lukáš

David Matějka
Moderator | 6445
+
+1
-

v getControl je dulezity tento radek, default renderer se podle nej rozhoduje, zda jiz byl prvek vykreslen

konva
Člen | 88
+
0
-

supr, to je ono. Diky
Lukas