Šablony a dedenie
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Ondřej Mirtes
- Člen | 1536
Já bych to v Presenteru vůbec nezohledňoval. Jen bych do šablony Default.default.phtml nahoru napsal:
{extends @layout.homepage.phtml}
{block #content}
obsah
Případně, pokud ten layout bude mít opravdu jen tato stránka, tak bych se nějakou tvorbou layoutu ani nezabýval, na začátek souboru žádné extends nebo block nepsal – žádný layout se v takovém případě nenačte.
- lactarius
- Člen | 47
Já myslel, že {extends …} už není nutné – teda, aspoň to
nepoužívám. Místo toho
@layout.phtml:
<div id="header">
{block header}
{/block}
</div>
<div id="nav">
{block nav}
{/block}
</div>
<div id="content">
{block content}
{/block}
</div>
default.phtml:
{block nav}
.
..menu..
.
{/block}
{block content}
.
..main content..
.
a mělo by to snad fungovat i se zachováním obsahu rodičovské šablony (nezkoušel jsem)
{block nav}
{include #parent}
.
..menu
.
{/block}
- Ondřej Mirtes
- Člen | 1536
Ano, {extends} není potřeba, pokud extenduješ defaultní @layout.phtml. Pokud chceš ale extendovat jiný layout, napíšeš {extends jinyLayout.phtml}.