addCheckBox s odkazem v textu (klasika: obchodni podminky)

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

Ahoj vsem,

mam takovy dotazicek ohledne formularoveho prvku addChceckBox, ke kteremu bych rad uvedl text s odkazem. Klasickou je napr. toto

Souhlasim s <a n:href="Homepage:obchpodm">obchodnimi podminkami</a>

Otazkou je, jak to zapsat?

Mate na to nekdo nejakou radu/figl?

Diky.

mkoubik
Člen | 728
+
0
-

Pokud použiješ ruční vykreslení, tak můžeš udělat něco jako {input checkbox}{label checkbox}<a href="...">...</a>{/label}.

22
Člen | 1478
+
0
-

co takhle?

$span = Html::el('span', 'Souhlasím s ');
$href = Html::el('a', 'Obhchodní podmínky')
	->href($this->link('ObchodniPodminky:'));
$terms = $span->add($href);
...
$form->addCheckbox('terms', $terms);
...

Editoval 22 (14. 12. 2011 4:47)

ras
Člen | 135
+
0
-

mkoubik: ja to do prispevku nenapsal … ale vlastnimu rendereru jsem se prave chtel vyhnout ;o)

Diky 22, to je to co jsem potreboval … o HTML entite vim, ale nejak mi vubec neprisla na mysl.

Ginny
Člen | 36
+
0
-

Omlouvám se, že nabourávám téma – ale neví někdo, jak pořešit label u checkboxu bez manuálního renderu? Label je na pravé straně za checkboxem, ale většinou by měl být v levém sloupci tabulky (pod labely jako „Jméno“, „Adresa“, atd.)

voda
Člen | 561
+
0
-

@Ginny: podědit Nette\Forms\Rendering\DefaultFormRenderer a přepsat metody renderLabel() a renderControl(). Stačí odstranit z podmínek $control instanceof Nette\Forms\Controls\Checkbox.

Ginny
Člen | 36
+
0
-

Uz koukam, moc dekuji :-)

Caine
Člen | 216
+
0
-

Myslim, že jak se checkbox vykresluje by mělo být nějak nastavitelný, než kvůli tomu přepisovat celý metody.

Pilda
Člen | 52
+
0
-

Mě by stejně zajímalo z jakého důvodu se checkboxy formátují zrovna takhle. Opravdusi neumím představit jediný případ, kde by se to dalo využít.