Nette 2.1 – ako pridat class pre checkbox a jeho label v makre
- mbohovic
- Člen | 13
Caute,
doteraz som pouzival verziu 2.1 dev, kde som vyuzival nasledovny postup:
{label $input class=>"checkbox" }
{input $input class=>"input-class"} {$input->label}
{/label}
Teraz vo verzii 2.1 mi nezobrazuje v HTML kode class pre label ani pre input typ checkbox. Viete mi poradit ako to riesti?
Dakujem
- mbohovic
- Člen | 13
Mesiah napsal(a):
Šlo by to takhle?
<form n:name=signInForm class=form> <p><label n:name=user>Username: <input n:name=user size=20></label> <p><label n:name=password>Password: <input n:name=password></label> <p><input n:name=send class="btn btn-default"> </form>
Ahoj,
ďakujem za reakciu. Upravil som kód v latte na tvar
<label class="checkbox">
{input $input class=>"input-class"}
</label>
Takto to síce zobrazuje správne, ale samotný kód nie je správny. Toto riešenie nie je dobré.
Editoval mbohovic (3. 2. 2014 13:06)
- David Grudl
- Nette Core | 8228
Dej za $input dvojtečku $input:
nebo použij zápis s
n:name
a verzi Nette 2.1.1
- duskohu
- Člen | 778
@David Grudl ako si to s tou dvojbotkou myslel? Mna by tiez zaujimalo ako v sablone ked generujem formular pridam labelu pre chceckbox classu? Dajme priklad:
{form}
<div n:foreach="$form->controls as $input">
{if $input->controlPrototype->type == checkbox}
{label $input} // tomuto labelu chcem dat class "checkbox"
{input $input}
{/label}
{/if}
</div>
{/form}
A vo vustupe chcem mat format checkboxu, pricom chcem, aby label mal classu „checkbox“ ktoru som mu pridal pri generovani
<label class="checkbox">
<input type="checkbox" name="XXX" > Text checkboxu
</label>
Editoval duskohu (9. 2. 2014 18:31)
- mbohovic
- Člen | 13
@David Grudl to co si napisal mi ale nezobrazuje samotny text za checkboxom. Vystup je napr. takyto:
<label class="checkbox" for="frm-signInForm-remember">
<input id="frm-signInForm-remember" type="checkbox" name="remember">
</label>
malo by to byt takto:
<label class="checkbox" for="frm-signInForm-remember">
<input id="frm-signInForm-remember" type="checkbox" name="remember"> Text za checkboxom
</label>
- mbohovic
- Člen | 13
nanuqcz napsal(a):
Tak to se omlouvám, vím že v Nette 2.0 to fungovalo.
Ještě jsem se díval, jak to mám v jednom projektu na Nette 2.1:
{label $input:} {input $input:} {$input->caption} {/label}
Toto je spravne, funguje to. Dakujem.
P.S. pripajam sa k otaze od @duskohu, aky maju tie dvojbodky vyznam?
Editoval mbohovic (10. 2. 2014 9:00)
- nanuqcz
- Člen | 822
Dvojtečky přepínají nový způsob vykreslování:
{label $field} -> <label><input> text</label>
{input $field} -> <label><input> text</label>
na starý:
{label $field:} -> <label>text</label>
{input $field:} -> <input>
Což je sice praktické pro Bootstrap, ale moc logické mi to nepřijde.
Já bych se ale přidal s otázkou na zkušenější, proč nefunguje tohle?
{label $input:}
{input $input:} {$input->labelPrototype->getText()}
{/label}