jak v MicroPresenteru vyrenderovat formulář
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- hejdav
- Člen | 50
čau lidi!
Trápim se s tim, jak vyrendrovat v šabloně MicroPresenteru formulář ale
netušim jak na to:
<?php
$router[] = new Route('create', function($presenter) {
$template = $presenter->createTemplate();
$template->setFile(__DIR__ . '/templates/create.latte');
// nainstalování maker moc nepomůže :(
$compiler = $template->getLatte()->getCompiler();
Nette\Bridges\ApplicationLatte\UIMacros::install($compiler);
Nette\Bridges\FormsLatte\FormMacros::install($compiler);
$form = new Nette\Forms\Form;
// ...
$template->setParameters([
'createForm' => $form,
]);
return $template;
});
?>
latte:
{control createForm}
hlásí Undefined variable: _control :-\
díky..

- hejdav
- Člen | 50
jak psal Honza Tvrdík, lze formuláře vyrendrovat buď
{control $form} nebo {form $form}...{/form}
(všimněte si dolaru), dále na co si dát pozor:
- použít
Nette\Forms\Form, nikolivUI\Form - nainstalovat makra – buď
UIMacrospro použítí{control}neboFormMacrospro použití{form} - chcete-li použít události, třeba
$form->onSuccess[], musíte si ručně na formu zavolat$form->fireEvents().