Kompozice formulářů a vlastní šablony pro kontejnery

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

Používám v aplikaci kompozici formulářů pomocí třídy Nette\Forms\Container asi takto:

class TextControlContainer extends BaseContainer {

	function __construct ( ITranslator $translator, ... )
    {
        parent::__construct ( $translator);
        $this -> addText ( 'type' );
	}
}

class FormControlUpdateForm extends BaseFormControl {
	protected function createComponentForm ( $name = NULL ) {
		$form = new BaseForm ( $this -> translator );

		$form [ 'text' ] = $this -> textContainer;
		$form -> addText ( 'value' );

		return $form;
	}
}

Nyní bych ale potřeboval aby textControlContainer reagoval na změnu jednoho selectu a změnil data ve svém druhém selectu, tedy přidat handleSelect1Change, něco udělat a invalidovat snippet. Jenže ten container nemá svou šablonu, takže to nejde, musel bych přidat snippet do šablony FormControlUpdateForm komponenty, jenže zase ne vždy v ní textContainer je (občas tam je jiný container).

Jak něco takového řešit? Úplně by mi stačilo, kdyby container měl metodu render a mohl mít šablonu…