Dotaz ke Kdyby/BootstrapFormRenderer – jak na snippet ve vlastni sablone
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- thorewi
- Člen | 84
Zdravim,
pouzivam vyse zminovanou komponentu, ktera umoznuje si vykreslit control podle sebe, kdyz mu pres setOption predam cestu k latte sablone – vyborna vec (nechci prece kvuli jedne control vypisovat cely form rucne). Kdyz chci ale v teto vlastni sablone vykreslit snippet, musim cely vnitrek @form.latte obalit do snippetArea + v php pridat neco na styl $this->template->_control = $this->form->parent.
- Da se to nejak udelat aniz bych musel upravovat 3rd party code?
- V te vlastni sablone mam:
{snippet category}
{var $control = $form[$name]}
{$renderer::mergeAttrs($form[$name]->getLabel(), $attrs['label'])}
<div class="controls">
{var $prepend = $control->getOption('input-prepend'), $append = $control->getOption('input-append')}
<div n:class="$prepend? input-prepend, $append? input-append" n:tag-if="$prepend || $append">
{$prepend}{$renderer::mergeAttrs($form[$name]->getControl(), $attrs['input'])}{$append}
</div>
{$error}{$description}
</div>
{/snippet}
coz je v podstate presne prevzata cast z @form.latte. Da se to nejak udelat bez duplikace tohoto kodu? proste jen {include #control} nebo neco na tento styl, aby se mi zmeny v Kdyby/BootstrapFormRenderer promitly i do tech vlastnich sablon. Dekuji.
Editoval thorewi (15. 5. 2014 10:46)