dědičnost šablon a layoutů – zmatek
- Petr Tvaroha
- Člen | 25
Zdravím,
pročítám dokumentaci, fórum, ale mám celkem zmatek v dědění šablon a layoutů. Co se týče víceúrovňového layoutu, tak to v dokumentaci není vysvětleno vůbec, jenom zmíněno, že to jde.
Trápí mě celkem triviální problém. Mám modul Admin, v něm presenter Edit a pro něj views/šablony default.phtml, texts.phtml, vars.phtml (@layout.phtml je společný pro celý modul). Chci do všech šablon vložit menu, které je specifické pouze pro tento presenter. Napadlo mě zatím jediné řešení. Vytvořit soubor např. block.menu.phtml a v každé šabloně pak vkládat {include block.menu.phtml}.
Jde to udělat nějak jinak, neboli kam dát {block #menu}, abych na něj viděl ze všech šablon v rámci jednoho presenteru? Podotýkám, že chci zachovat jeden layout?
Předem díky za odpověď.
- Jan Tvrdík
- Nette guru | 2595
Vytvořit soubor Editor.@layout.phtml
{layout @layout.phtml}
{block #content}
<div id="menu">...</div>
{include #innerContent}
{/block}
a šablonách pak používej místo {block #content}
,
{block #innerContent}
.
- Petr Tvaroha
- Člen | 25
Díky!
Už jsem to skoro měl, jen mě nedošlo, že musím použít ten #innerContent.
Jinak by IMHO bylo vhodné podobný příklad přidat do dokumentace k víceúrovňovým layoutům, může to ušetřit ostatním spoustu času.
Editoval Petr Tvaroha (7. 10. 2010 13:10)