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
+
0
-

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.

  1. Da se to nejak udelat aniz bych musel upravovat 3rd party code?
  2. 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)