Počet textboxů načítaných z databáze

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
lampa
Člen | 9
+
0
-

Dobrý den,
jestli narážím na nějaké téma, které se už řešilo tak se předem omlouvám. Hledam jsem na fóru i v databázi ale přesně to co potřebuji jsem nenašel.

Potřeboval bych vygenerovat textboxy podle počtu záznamů v databázi (ne podle toho kolik chce uživatel ale podle té DB). Měl bych třeba „předmět“ a ten by patřil procentuálně do několika „kategorií“. Relace by tedy byla asi N:M (jeden předmět může patřit třeba do 1. kategorie na 30%, do 2. kategorie na 50% a o 3. na 20% a druhý předmět bude patřit zase třeba do 1. a 3. kategorie na 50%)

Formulář bych si představoval asi takhle:
Název předmětu: …
kategorie 1: …
kategorie 2: …
kategorie 3: …

Problém je v tom, že počet kategorií není statický (nevím jestli uživatel bude mít 3 kategorie nebo 10)

Koukal jsem i na addDynamic ale řekl bych, že to není přesně to co potřebuji. Existuje tedy nějaký jiný způsob jak toho dosáhnout? Pokud bych v továrně formuláře použil cyklus, nevím jak nastavit jména textboxů (jelikož očíslovat je nelze).

Předen děkuji za nápady.

Patrik Votoček
Člen | 2221
+
0
-

Na to slouží kontainery

protected function createComponentMyForm()
{
	$categories = array('predmet1', 'predmet2', 'predmet3');

	$form = new Form;
	// ...

	foreach ($categories as $category) {
		$container = $form->addContainer($category);
		$container->addText('percent', ucfirst($category));
	}

	// ...
	return $form;
}
lampa
Člen | 9
+
0
-

diky vypada to ze to funguje :)