Ruční vykreslení generovaného formuláře checkbox a group
- TheNEoo
- Člen | 75
Ahoj všem,
Snažím se ručně vykreslit formulář, který obsahuje checkboxy a hlavě
groupy Viz. Nejlepší je demo ukázat.
V sanboxu jsem našel ukázku, jak takovýto formulář vykreslit ručně a část mně funguje, ovsem nedokážu pochopit, jak to vlastně vykreslit, tak jako to mam v demu. V demu není vykreslen ručně.
V sandboxu je:
<form n:name=$form class=form-horizontal>
<ul class=error n:if="$form->ownErrors">
<li n:foreach="$form->ownErrors as $error">{$error}</li>
</ul>
<div n:foreach="$form->controls as $name => $input"
n:if="!$input->getOption(rendered) && $input->getOption(type) !== hidden"
n:class="form-group, $input->required ? required, $input->error ? has-error">
<div class="col-sm-2 control-label">{label $input}</div>
<div class="col-sm-10">
{if $input->getOption(type) in [text, select, textarea]}
{input $input class => form-control}
{elseif $input->getOption(type) === checkbox}
<div class="checkbox">{input $input}</div>
{else}
{input $input}
{/if}
<span class=has-error n:ifcontent>{$input->error}</span>
</div>
</div>
</form>
To vykreslí jednotlivé prvky, ovšem já potřebuji vykreslit nejdříve
group a následně její prvky, viz demo
Děkuji předem za pomoc :)
Editoval TheNEoo (1. 12. 2016 11:23)
- Mortisson
- Člen | 21
Ahoj, jednoduše si nejdřív foreachem
projeď groupy a v nich
nasledně jejich prvky
{form form}
<div class="group" n:foreach="$form->groups as $group">
{foreach $group->controls as $name => $input}
{label $input}{$name}{/label}{input $input}
{/foreach}
</div>
{/form}
Editoval Mortisson (2. 12. 2016 9:16)
- TheNEoo
- Člen | 75
Mortisson napsal(a):
Ahoj, jednoduše si nejdřív
foreachem
projeď groupy a v nich nasledně jejich prvky{form form} <div class="group" n:foreach="$form->groups as $group"> {foreach $group->controls as $name => $input} {label $input}{$name}{/label}{input $input} {/foreach} </div> {/form}
Děkuji za popostrčení něco obdobného mě také napadlo ale padal jsem na:
1×
PHP User Deprecated: Missing annotation @property for Nette\Application\UI\Form::$groups used in ....
7×
PHP User Deprecated: Missing annotation @property for Nette\Forms\ControlGroup::$controls used in ....
Což u tvého příkladu padám na tom samém. Nenašel jsem jiný způsob
zatím.
V dokumentaci jsem neobjevil čím to nahradit.
A hlavně mel jsem napsat taky verzi nette 2.4 / php7