Best-practice: Manuální vykreslení formulářového kontaineru předaného v komponentě

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

Ahoj,
trochu jsem to zjednodušil, ale jde mě hlavně o princip jak vykreslit nějakou skupinu inputů, které by měli vlastní šablonu a mohl jsem je ve fermuláři kde se mají vykreslit vložit nějakým jedním řádkem kodu. Mám to zhruba takhle:

Podle Filipa (pod čarou) (nevím jestli se to pořád dělá takhle, nic jinýho jsem k tomu nenašel) mám nějakej SeoContainer, kterj si vložím do komponenty SeoComponent

public function getSeoInputs($form)
{
	$this->form = $form;
	return new SeoContainer();
}

public function render()
{
	$this->template->_form = $this->form;
	$this->template->setFile(dirname(__FILE__) . '/template.latte');
	$this->template->render();
}

a předám formuláři

function __construct()
{
	$this->seoComponent = new SeoComponent();
}

public function createComponentForm()
{
	$form = new Form();
	// Předám zpátky instanci form, kterou potom využívám pro generování formuláře v komponentě
	$form->addComponent($this->seoComponent->getSeoInputs($form), 'seo');
}

public function createComponentSeoComponent()
{
	return $this->seoComponent;
}

V šabloně to potom vykresluju:

{* Tenhle control právě vykresluje inputy toho kontaineru. *}
{control seoComponent}
...
{control seoComponent:JS}

A otázka na závěr. Je tenhle postup správně? Funkční to je, ale zajímalo by mě, jestli se to nedělá nějak jinak…