Namespacování latte blocku

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Nax
Člen | 35
+
0
-

Zdravím,

zrovna se pokouším udělat šablonu do které chci několikrát includovat jinou šablonu (tabulka které předávám nějaká data z té ‚hlavní‘ šablony), hlavní šablona vypadá to nějak takto:

{includeblock 'edit.latte'}

{block scripts}
	<script>bla bla</script>
{/block}

{block content}
	{foreach $neco as $row}
		{include edit 'data' => $row}
	{/foreach}
{/block}

V souboru edit.latte je definovany blok ‚edit‘. nyní bych chtěl do toho souboru ještě definovat block ‚scripts‘ který by obsahoval nějaký javascript obsluhující tu tabulku v bloku edit.

Důvod proč ten javascript chci mít v tom samém souboru je ten, že mi to přijde přehlednější než to mít v tom souboru kam se to includuje.

V zásadě mi jde jen o to, jestli existuje nějaké namespacování těchto latte blocku, abych ten block se scriptama v souboru edit.latte mohl definovat pod nazvem scripts (ne třeba editScripts) a pak v tom kodu nahoře napsat něco jako:

{block scripts}
	{include edit\scripts}
	<script>bla bla</script>
{/block}

Je toto možné? Nebo máte nějaké tipy jak toto nejlépe provést?

Díky za váš čas, jestli je to blbý dotaz tak se omlouvám, jsem v tom nový.

David Grudl
Nette Core | 8154
+
+1
-

Namespacovat bloky při načítání možné není, je potřeba je s namespace už definovat.

Nax
Člen | 35
+
0
-

Zdravím,

díky za odpověď. Nikde jsem ale nenašel že by na to byla nějaká speciální syntaxe, jak mám tedy namespace definovat? Prostě v názvu blocku?

David Grudl napsal(a):

Namespacovat bloky při načítání možné není, je potřeba je s namespace už definovat.

David Grudl
Nette Core | 8154
+
+1
-

Přesně tak. Připadá mi praktičtější tohle řešení, takže třeba při prohledávání větších projektů název použitého bloku přesně odpovídá názvu definice a nahrají v tom roli žádné další faktory.