Vlastní vykreslení checkboxů

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

Ahoj, potřebuji vypsat formulář jinak než standardně echo $form, což by nebyl problém, kdyby se nejadnalo o skupinu checkboxů, kterou vytvářím takto:

$res = dibi::query("SELECT * FROM kategorie");
$kategorie = $res->fetchPairs('id', 'nazev');

$form->addGroup('Kategorie');

$containter = $form->addContainer('kategorie_id');

if (count($kategorie) > 0) {
	foreach ($kategorie as $key => $val) {
	// Checkboxy budou mít atribut name nastaven na selected[$id],
	// s hodnotami tedy půjde pracovat jako s polem
		$fluentRule = $containter->addCheckbox((string)$key, $val);

	}
}
nAS
Člen | 277
+
0
-

Nepomohl by ti CheckboxList?

tondovo
Člen | 10
+
0
-

Já mám všechno hotovo, jen to potřebuju vypsat, takže bych nerad měnil něco, co funguje a je odzkoušený…

redhead
Člen | 1313
+
0
-

nestačí pak něco jako:

foreach ($kategorie as $key => $val) {
	echo $containter[$key]->control;
}

nebo ještě lépe (nevím zrovna jesli je správně to s tím $control->control; ale aspoň princip):

foreach ($containter->getControls() as $control) {
	echo $control->control;
}

Editoval redhead (3. 12. 2009 14:38)

Honza Kuchař
Člen | 1662
+
0
-

@redhead

Gratuluji k novému titulu pane kolego. :)

redhead
Člen | 1313
+
0
-

honzakuchar napsal(a):
Gratuluji k novému titulu pane kolego. :)

Jůůů, ani jsem si nevšiml, dík :)

tondovo
Člen | 10
+
0
-

Díky, ten druhý příklad funguje správně, pomohlo mi to.