Manuální výpis RadioListu (s formulářovými makry)
- Vojtěch Dobeš
- Gold Partner | 1316
V záchvatu hraní si s Latte jsem si napsal pomocníka na manuální vykreslování RadioListu. Vnímám, že kodérovi (nebo obecně při kódování šablony) by mohlo pomoci, kdyby nebylo nutné používat konstrukci
{foreach $form['list']->items as $key => $label}
a následně {$form['list']->getControl($key)}
– navíc
bez možnosti vložit cokoliv mezi <input>
a přidružený
<label>
. Mnou navrhované řešení zavádí nové makro
{inputlist}
a vypadalo by takto:
<table>
{inputlist list}
{if $iterator->isFirst(3)}
<tr>
{/if}
<td>{input} {label /}</td>
{if $iterator->isLast(3)}
</tr>
{/if}
{/inputlist}
</table>
Případně v Latte to jde ještě hezčejc :) :
<table n:inner-inputlist="list">
{first 3}<tr>{/first}
<td>{input} {label /}</td>
{last 3}</tr>{/last}
</table>
Mám už i implementaci, ale je fakt, že jsem možná trochu předběhnul, takže otázka zní, jestli vám to přijde jako smysluplné a Nette hodné řešení :)
Nehodil jsem to do doplňků, protože jsem nakonec raději upravil i kód RadioListu. V případě zájmu o tuto funkcionalitu je zde implementace i čistě skrze Latte, ale není moc ošetřená (při pohledu do kódu bude jasné): https://gist.github.com/1474583.
- Filip Procházka
- Moderator | 4668
Co se týče toho extension, mohlo by ti pomoct https://gist.github.com/1151346
Jinak nápad jako takový se mi moc líbí. Ale nevím jak je rozumné rozšiřovat současné formuláře, když David plánuje nové.
PS: Co takhle spíše {inputitems}
?
Editoval HosipLan (2. 1. 2012 12:58)