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
+
0
-

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
+
0
-

Riesil by som tasi nejak takto:

  1. Napisem FooForm ktory zdedi …UI\Form
  2. 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;
}
?>
  1. 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
+
0
-

Udělal bych to podobně, jenom bych asi použil pouze konstruktor na injectnuti databaze :)