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ď
UIMacros
pro použítí{control}
neboFormMacros
pro použití{form}
- chcete-li použít události, třeba
$form->onSuccess[]
, musíte si ručně na formu zavolat$form->fireEvents()
.