Custom render form element
- duskohu
- Člen | 778
Ahojte, hladam vhodne riesenie na render formularoveho prvku. Renderujem
kazdy prvok samostatne, lebo si ich rozmiestnujem ako potrebujem, nerenderujem
form ako celok, lebo v kazdom forme mam prvky rozmiestnene inak.
Momentalne to mam takto. Kde potrebujem vykreslit form. prvok tak si zavolam
include inputText ...
. Nemate nejake krajsie riesenie?
{define inputText}
{if !isset($descriptionClass)}
{var $descriptionClass = 'text-muted'}
{/if}
<div class="form-group col-12">
{label $fieldName class=>"col-form-label"/}
{input $fieldName class=>"form-control"}
{if $form[$fieldName]->getOption('description')}
<span class="font-13 {$descriptionClass}">{$form[$fieldName]->getOption('description')}</span>
{/if}
<div n:if="$form[$fieldName]->error" class="invalid-tooltip" data-form-alert-for="{$form[$fieldName]->getHtmlId()}">
{$form[$fieldName]->error}
</div>
</div>
{/define}
{include inputText form => $form, fieldName => 'aaaaa'}
{include inputText form => $form, fieldName => 'bbbbb'}
- David Matějka
- Moderator | 6445
muzes to zjednodusit treba na
{define inputText, $field}
...
{input $field, class => ...}
{/define}
{include inputText $form[aaa]}