Dedičnost šablon, bloky a nezobrazení obsahu
- jetpack
- Člen | 71
Zdravím,
mám takový malý problém. Studuju to i na fóru, ale v mé praxi to
nefunguje.
Věc se má takhle.
- Aplikace je na Moduly Front a Admin.
- Mám nejnovější Nette.
Mám **Www **presenter (neřešme název).
V něm v actionDefault() mám:
$this->setView('../triple_column.latte');
Soubor @layout.latte (je ve FrontModule/templates/)
bla bla bla
....
{include #content}
....
bla bla
Soubor triple_column.latte (je ve FrontModule/templates/)
{layout '@layout.latte'}
{block #content}
{block #contact}{/block}
{/block}
Soubor contact.latte (je ve FrontModule/templates/Panels_triple/)
{layout '../triple_column.latte'}
{block #contact}
Kontaktní informace...
atd.
{/block}
Problém je v tom, že hlavní @layout.latte se v pořádku načte,
ale nenčate se nic do toho bloku contact
„Kontaktní informace…“. v tom triple_column.latte
Dědím správně nebo je problém někde jinde?
- nanuqcz
- Člen | 822
Nejsem si jistý, ale buď bych dal do triple_column.latte
{include #contact} // {block #contact}{/block} IMHO říkáš, že chceš změnit obsah bloku #contact od rodiče na prázdný řetězec
Anebo v presenteru
$this->setView('../contact.latte');
…contact.latte si pak díky makra {layout}
načte i šablonu
triple_column.latte
a ta zase @layout.latte
- jetpack
- Člen | 71
No díky za odpověď, ale jedná se o to, že když dám v triple_column.latte:
{include #contact}
tak mi to hodí:
Cannot include undefined block ‚contact‘
A v presenteru se chcu starat jenom o to, zda-li ta stránka bude 2 nebo 3 kolonková jelikož jsou 2 možnosti. Nikoliv jeden vzhled nebo nastavovat:
$this->setView('contact.latte');
Právě proto to mám jako triple_column a double_column.
Chtěl jsem to mít:
- Layout.latte má v sobě hlavičku, patičku, menu.
- Tělo stránky s dynamickým obsahem je v triple_column.latte
- Do triple_column si až teprve dávat potřebné věci.
Editoval jetpack (7. 3. 2012 11:53)