Formuláře v Nette 2 – Oddělený formulář od presenteru?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- diablos
- Člen | 36
Zdravím,
chtěl bych se zeptat, jak napsat formulář v Nette 2, který není v presenteru a potřebuje spojení s db. Například formulář, který z db vybere seznam krajů, které pak vypíše do selectboxu. Chtěl bych ho uložit do složky forms nebo tak něco, prostě kompletně to oddělit od presenterů. Hodil by se příklad. Díky.
- newPOPE
- Člen | 648
Riesil by som tasi nejak takto:
- Napisem
FooForm
ktory zdedi …UI\Form
- V tovarnicke ho vyrobim a injektnem mu bud pripojenie k DB, alebo priamo service ktoru potrebuje
<?php
public function createComponentFooForm() {
$form = new FooForm;
$form->setConnection($this->context->db); //alebo rovno cez constructor injection new FooForm($db);
return $form;
}
?>
- a v tom FooForm loadnem z DB co potrebujem a zostavim formular
PS: je to z hlavy :-), ale napad sa mi paci :-D
- Filip Procházka
- Moderator | 4668
Udělal bych to podobně, jenom bych asi použil pouze konstruktor na injectnuti databaze :)