Manualní vykreslení kontaineru

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

Ahoj,

Teď řeším jednu věc. Potřebuji vykreslit specificky formulář rozložený ve stránce a napadlo mne použít container, viz níže.

Info:
Verze nette 2.1.2, žádné úpravy pouze čisté nette form.

Formulář mám pro úkazku takto:

public function createComponentForm($name)
{
	$form = new \Nette\Application\UI\Form;

	$mainContainer = $form->addContainer('sekce1');
	$mainContainer->addText('item1', 'Položka 1');
	$mainContainer->addText('item2', 'Položka 2');

	$mainContainer = $form->addContainer('sekce2');
	$mainContainer->addText('item1', 'Položka 1');
	$mainContainer->addText('item2', 'Položka 2');

	return $form;
}

Takže klasika. Jelikož chci mít formulář na stránce zobrazený trošku rozházeně rozdělil jsem ho do sekcí pomocí addContainer. Takže pro výsledek potřebuji vykreslovat manuálně. Představa je taková:

{form form}
	<div style="float: left;">
		{????? sekce1}
	</div>

	<div style="float: right;">
		{????? sekce2}
	</div>
{/form}

tohle {????? sekce1} je jako zda neexistuje nějaký zpusob jak to vykreslit bez nejakeho foreach. Příklad je ukázkový. Ale jde v podstatě o to že pokud mám formulář rozdělený třeba do tabu kvuli přehlednosti, tak bych si ho pomocí addContainer takhle rozdělil a pak v šabloně ty jednotlivé sekce v daných tabech vykreslil.

Jde také o to že by to bylo v šabloně přehledné.

Předem dík za nějakou radu.

Editoval webdata (19. 4. 2014 17:15)

mdjimy
Člen | 9
+
0
-

Copak, {formContainer} ti nefunguje? :)

Editoval mdjimy (30. 4. 2014 23:50)

webdata
Člen | 153
+
0
-

mdjimy napsal(a):

Copak, {formContainer} ti nefunguje? :)

nn, Představa je takova že budu mít definovany formular např container1 a v něm nějaké prvky (textbox atd). A to same v container2, ale samozřejmě zase jíne prvky.

A ted to chci třeba vykreslit do bootstrap from twitter tabu:

{form form}
	<div id="tab1">{nejakymakro container1}</div>
	<div id="tab2">{nejakymakro container2}</div>
{/form}

Pokud bych to měl renderovat takhle:

{form form}
	<div id="tab1">
		{formContainer container1}
		{label prvek1}{input prvek1}
		{label prvek2}{input prvek2}
		.
		.
		{/formContainer}
	</div>
	<div id="tab2">
		{formContainer container2}
		{label prvek1}{input prvek1}
		{label prvek2}{input prvek2}
		.
		.
		{/formContainer}
	</div>
{/form}

..... tak na to nepotrebuji ani kontainer a rovnou to muzu celý renderovat rucne prvek po prvku a jen si je rozhazet do divu pro patricnej tab.

Doufám že je videt vo co mne jde. Prvni priklad je prehledny. Pokud to tak nejde tak hold se spokojim stim druhym uvedeným.

Editoval webdata (3. 5. 2014 0:40)