Checkbox uvnitř elementu <label> v Latte

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

Ahoj, mám checkbox

$form->addCheckbox('stock', 'Skladem');

a renderuju ručně formulář pomocí maker. Vždy jsem renderoval takto:

{label stock /}{input stock}

Teď potřebuju (kvůli Twitter Bootstrapu) docílit toho, aby input byl uvnitř labelu, tedy aby výsledný HTML kód byl tento:

<label for="frmeditForm-stock">
  <input type="checkbox" name="stock" id="frmeditForm-stock" checked="checked" />
</label>

Takže jsem zkusil

{label stock}{input stock}{/label}

Jenže problém je ten, že makro nedoplní text checkboxu. Jde o vlastnost nebo chybu?
Prozatím jsem to vyřešil takto (čímž dosáhnu výsledného HTML kódu, viz výše), ale vůbec se mi toto řešení nelíbí.

{label stock}{input stock}{$form['stock']->caption}{/label}
Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Lépe to asi nepůjde, párová varianta makra {label} existuje právě pro doplnění caption až v šabloně. Můžeš si udělat vlastní makro {inputWithCaption} :).

Slavista
Člen | 11
+
0
-

Pokud jde o to dostat to na jeden řádek vedle sebe, zkus:

{input xxx}{label xxx class => 'checkbox inline' /}

radas
Člen | 225
+
0
-

Ano, ve skutečnosti třídy „checkbox inline“ mám definované už při vytvoření checkboxu (jen jsem nechtěl zbytečně rozšiřovat kód tady v příkladu). Nicméně Tvé řešení funguje, i když ve skutečnosti není <input> uvnitř <label>. Díky.