Vykreslení jen určité části formuláře

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

Ahoj,

řeším věc, jak vykreslit jen určitou část formuláře vlastním způsobem, který pošlu přes továrničku. Takže v šabloně mám jen {$form}. Já bych ale potřeboval vypsat vlastním způsobem jen určitou část formuláře a zbytek nechat vypsat podle nastavených wrapperů.

Např. mám nějaké elementy uzavřené do skupiny

<?PHP

	$form->addText('text', 'Text');

	// a například cyklem generovaný určitý počet checkboxů - přes multiselect je to dost neuživatelské, v proměnné $hodnoty;

	$form->addGroup('Kontejner');
	foreach($hodnoty as $hodnota){
		// udělat například promennou id_hondnot[] se mi nepodarilo, ladenka chce alfanumeric string a ne array
		$form->addCheckBox('id_hodnoty_'.$hodnota['id'], $hodnota['nazev']);
	}

	$form->addSubmit('odeslat', 'Odeslat');
?>

teď udělat, aby se kontejner například nějak ostyloval to problém není, ale vypisuje se mi vždy nad celým zbývajícím formulářem, i když ho mám umístěný ve struktuře jako předposlední (pak je jen tlačítko). Takže aby to vypadalo nějak takto …

<form ... >
<label ..><input type="text" ...>
<fieldset>
	<legenda>Kontejner</legenda>
	<input type="checkbox" ... >
	...
</fieldset>
<input type="submit" ... >
</form>

je vůbec dobré takhle řešit možnost multivýběru? Multiselect mi přijde dost hrozný, potřebuji spíše přehlednost a udělat si vlastní vykreslení určité grupy by pak neměl být snad problém, ale jak zařadit zbytek formuláře v základní podobě, aby se upravoval pouze přes wrapper a group v případě potřeby v šabloně.

Díky za rady

Editoval dEath (31. 8. 2010 12:05)