Layout – vytvoření sidebaru

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

Jak vytvořit sidebar, který se bude stále načítat? Myslel jsem, že si vytvořím sidebar.latte a do něho napíšu {block sidebar}…{/block} a pak v @layout.latte přidím <div>{include #sidebar}</div>. Po spuštění mi laděnka hlásí „Cannot include undefined block ‚sidebar‘“. Kde se ten block má dodefinovat? Případně kde dělám chybu? Nechci stále v každém .latte souboru psát blok sidebar.

Jan Tvrdík
Nette guru | 2595
+
0
-

A proč ten obsah sidebar.latte nedáš rovnou do @layout.latte?

birkof
Člen | 15
+
0
-

Chtěl jsem to mít vedle, aby to bylo přehlednější.

besir
Člen | 170
+
0
-

{include sidebar.latte} ?

Nebo má být pro každý presenter jiný sidebar?

Editoval besir (3. 6. 2012 22:43)

iqtq
Člen | 20
+
0
-

Řekl bych že to používaš jinak než je zamýšleno. Pokud chceš pouze připojit soubor do hlavního layoutu
tak použij {include ‚sidebar.latte‘}. Pokud ale chceš mít v jiných view/presenterech možnost měnit obsah sidebaru tak použiješ tebou zmíněný způsob deklarace v @layout.latte ({include #sidebar}) a pak kdekoli v šablonách které používají tento @layout.latte můžeš použít tu definici {block sidebar}…{/block}.

Editoval iqtq (3. 6. 2012 23:20)

birkof
Člen | 15
+
0
-

iqtq napsal(a):

Řekl bych že to používaš jinak než je zamýšleno. Pokud chceš pouze připojit soubor do hlavního layoutu
tak použij {include ‚sidebar.latte‘}. Pokud ale chceš mít v jiných view/presenterech možnost měnit obsah sidebaru tak použiješ tebou zmíněný způsob deklarace v @layout.latte ({include #sidebar}) a pak kdekoli v šablonách které používají tento @layout.latte můžeš použít tu definici {block sidebar}…{/block}.

Super. Díky za skvělou odpověď, to jsem potřeboval.