[latte] Přidání textu do existujícího bloku
- Dragonn
- Člen | 12
Ahoj,
chtěl bych znát váš názor.
Jak řešíte javascript v děděných šablonách? V layoutu máte např.
několikrát <script src="..." />
a v nějakém konkrétním
view přidáte jenom napevno blok
<script type="text/Javascript">...</script>
do #content
bloku, nebo se to nějak snažíte přidat k již existujícímu bloku
skriptů?
Chtěl jsem jít druhou zmíněnou cestou, takže v layoutu mám
{block scripts}
<script type="text/javascript" src="{$basePath}/js/jquery.js"></script>
<script type="text/javascript" src="{$basePath}/js/jquery.nette.js"></script>
<script type="text/javascript" src="{$basePath}/js/netteForms.js"></script>
<script type="text/javascript" src="{$basePath}/js/main.js"></script>
{/block}
ale v šabloně konkrétního view bych chtěl použít něco jako
{block-append #scripts}
<script type="text/Javascript">
alert("Trololo!");
</script>
{/block}
případně
{include parent#scripts}
<script type="text/Javascript">
alert("Trololo!");
</script>
Zatím jsem při všech svých pokusech narazil do zdi. Snažil jsem se o jakési rekurzivní řešení, ale buď to nefungovalo, nebo se se mnou Nette odmítlo bavit, protože jsem vytvořil infinite-recursion. Také jsem zkoušel makro
{capture $var}
{include #scripts}
{/capture}
, ale také jsem neuspěl, protože proměnnou, do které se výstup zachytí, jsem nedostal za hranice bloku (takže buď undefined variable nebo infinite-recursion).
Vím, že to můžu řešit tak, že na konci bloku #scripts definuji ještě block #scriptsAppend a budu editovat ten, což by mi aktuálně stačilo, ale to není univerzální řešení.
Předem díky za názory a rady.