Bootstrap render – Checkbox bez vnořeného input v label
- Newer
- Člen | 47
Ahoj,
používám Form Factory na formuláře, kde mám importovanou funkci pro změnu renderingu formuláře…
Domníval jsem se, že je špatně udělaná, ale nejspíš je to vlastnost nette, které vykresluje input checkboxu uvnitr labelu checkboxu…
Takže výsledek:
<div class="form-check">
<label class="form-check-label>
<input class="form-check-input">
</label>
</div>
a potřebuji:
<div class="form-check">
<input class="form-check-input">
<label class="form-check-label>
</label>
</div>
aktuální php
...
elseif (in_array($type, ['checkbox', 'radio'], true)) {
if ($control instanceof Nette\Forms\Controls\Checkbox) {
$control->getLabelPrototype()->addClass('form-check-label');
} else {
$control->getLabelPrototype()->addClass('form-check-label');
}
$control->getControlPrototype()->addClass('form-check-input');
$control->getSeparatorPrototype()->setName('div')->addClass('form-check');
}
...
nějaká rada?
Díky moc
- Kamil Valenta
- Člen | 820
ViPErCZ napsal(a):
Vykresluje se to tak, protože když máš v labelu text, tak klikem na text se zaškrtne checkbox.
To zajistí i id u inputu a for u labelu.
- dakur
- Člen | 493
@Newer Viz toto vlákno: https://forum.nette.org/…k-radiolistu Řeší to tvůj problém?
@ViPEr*CZ* Typicky je to potřeba kvůli custom stylu checkboxu, aby
se dal skrýt nativní a zobrazit vlastní přes pseudoelementy
::before
a ::after
pomocí input + label
selektoru. Tipuju, že to bude i tento případ. Opakuje se to tady pořád
dokola, tak bych zvážil, jestli neupravit API nette/forms, aby to nějakým
způsobem umožňovalo. Něco jsem nastínil zde. @DavidGrudl
- ViPEr*CZ*
- Člen | 817
@KamilValenta Ano to je alternativní způsob. ;-) Pokud v tom je css jak píše dakur, tak v tom zas nejsem tak zběhlej.
Ale koukám na ten link co dal dakur… díky… docela masakr. Já bych si to osobně vykreslil manuálně. Ale to tam kdosi zmiňuje, že v diskuzích je už moc. A wrapper je zas málo. Osobně ano je to moc. Ale zas mám šablonu více podobnou html oproti jen {control form}. Nevím… mám radši manuál na složitější formy… přijde mi, že to mám víc pod kontrolou.