UI\Form vlastni render a template – nelze invalidovat snippet
- darthcz
- Člen | 113
Zdravím,
používám znovupoužitelné formuláře implementované jako třídy dědící od UI\Form. Tyto třídy mají implementovánu vlastní metodu render a vlastní šablonu se snippetem. Ukázka níže. V presenteru ale nejde invalidovat parentCategory snippet. Někde jsem četl, že nelze invalidovat snippety ze šablon UI\Form, ale nikde jsem nenašel proč, tak se vás na to chci zeptat. Zároveň z toho plyne otázka, jestli je znovupoužitelné formuláře lepší implementovat jako UI\Control nebo jako UI\Form a proč.
/**
* Method to render a categoryForm.
*
* @return void
*/
public function render()
{
$this->presenter->template->setFile(dirname(__FILE__) . '/templates/categoryForm.latte');
$this->presenter->template->renderer = $this->getRenderer();
$this->presenter->template->render();
}
{foreach $form->controls as $name => $field}
{if $name == 'parent_category_id'}
{snippet parentCategory}
{label parent_category_id /}
{input parent_category_id}
{/snippet}
{else}
{label $name /}
{input $name}
{/if}
{/foreach}
- Vojtěch Dobeš
- Gold Partner | 1316
I have been running on this ballad… určitě děď od
UI\Control
. Kód je úplně stejně dlouhý, až na to, že je to
správně :).
Viz: https://forum.nette.org/…-jeho-limity
Dědění od UI\Form
nedává žádný smysl a nepřináší
žádné výhody.
Editoval vojtech.dobes (24. 7. 2013 11:16)