Cannot include undefined block ‚menu‘

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

Ahoj,

začínám s jednoduchou aplikací, ale nedaří se používání bloků.
Kontext problému:
zde je adresářová struktura ve složce templates

templates/
- @layout.latte
- menu.latte
-- Homepage/
--- default.latte

Obsah souboru @layout.latte:

<body>
        {include #menu}
	<div n:foreach="$flashes as $flash" class="flash {$flash->type}">{$flash->message}</div>
	{include #content}
</body>

obsah souboru menu.latte:

{block menu}
<ul>
    <li><a n:href="Inventura:default">Inventura</a></li>
</ul>
<hr>
{/block}

Otázka zní: Co dělám špatně, že mi to ten blok menu neincluduje? Content to includuje normálně, ale místo menu to hodí hlášku:

Nette\InvalidStateException

Cannot include undefined block ‚menu‘.

Díky

Editoval tomaass (22. 10. 2012 12:04)

enumag
Člen | 2118
+
0
-

Přidej do @layout.latte:

{define menu}
<ul>
    <li><a n:href="Inventura:default">Inventura</a></li>
</ul>
<hr>
{/define}

Soubor menu.latte můžeš smazat.

tomaass
Člen | 74
+
0
-

děkuji, to sice je řešení, nicméně menu se bude zvětšovat, layout také, a chci aby to pak bylo přehledné…

Marek Šneberger
Člen | 130
+
0
-
{include 'menu.latte'}
tomaass
Člen | 74
+
0
-

díky, funguje