Ručné vykreslenie RadioList prvkov

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

Ručné vykreslenie RadioList prvkov

Ahojte,

pracujem v projekte kde je potrebne ulne prisposobit zobrazovanie prvkov formulara. Ako by bolo mozne zobrazit prvok RadioList v sablone latte aby vysledne html vyzeralo takto (priklad):

<label><input type="radio" name="gender" value="m"> Male</label>
<label><input type="radio" name="gender" value="f"> Female</label>

Najviac ako sa mi podarilo prisposobit tieto prvky je takto:

{$myForm[gender]->getControl('f')}
{$myForm[gender]->getControl('m')}

Problem je ze v Nette su label a input pre radio list su zviazane dokopy je mozne nejakym sposobom oddelit a ich zobrazenie uplne prisposobit?

Dakujem za pomoc.

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

No problem, můžeš využít tento doplněk: nette-forms-inputlist. Zaregistruješ ho v app\bootstrap.php:

$configurator->onCompile[] = function ($configurator, $compiler) {
	$compiler->addExtension('inputlist', new VojtechDobes\NetteForms\InputListExtension);
};

Místo addRadioList() použiješ addMultiRadio() (s úplně stejnými argumenty.)

A pak v šabloně formulář manuálně vyrenderuješ, a konkrétně tento prvek takto:

{inputlist gender as $label}
	{label}{input} $label{/label}
{/inputlist}
Zito
Člen | 8
+
0
-

Wau super dakujem Vojtech funguje to paradne :)

JakubTN
Bronze Partner | 49
+
0
-

Zdravim,
pouzivam addMultiRadio() a vsimol som si jednu zaujimavost, ze pri pouziti validacneho pravidla setRequired() nefunguje validacia na strane klienta v podobe JS alertu. Formular sa odosle a zvaliduje az na strane servera. Na ostatnych formularoch v ramci webu funguje JS validacia v pohode a kedze sa mi nejak nepodarilo vypatrat chybu, chcel by som sa uistit, je chyba niekde u mna alebo je to „known feature“? Dakujem. :)

Editoval JakubTN (28. 2. 2013 12:49)

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Eh, bohužel to je pravda, JS validace v tom mém doplňku není dořešená. S bolestí v srdci, s pícháním v boku a s rudou mlhou před očima tě odkážu na konkurenční doplněk… který umožňuje s ošklivějším API totéž: nextras/forms :) – ten JS validaci podporuje. Já ju musím doprogramovat :).

Editoval vojtech.dobes (28. 2. 2013 13:03)

JakubTN
Bronze Partner | 49
+
0
-

Aaaa tak to je skoda, ale zatial to prezijem aj len so serverovou validaciou a rad si pockam na pripadny update ;)

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

V tom případě ju zkusím dodělat co nejdřív :).

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Doplněna serverová i client-side validace.

JakubTN
Bronze Partner | 49
+
0
-

Fuuuuha, tak to bol iny expres! ;-) Velke dik.