problem se sablonami

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

zacinam s frameworkem a pokusim se popsat na cem visim.

sablona @layout.phtml obsahuje krome hlavicky jen

<body>
{include 'layout01.phtml'}
</body></html>

v teto podsablone layout01.phtml mam definici bloku obsahu

{include #content}

kterou plnim v presenteru. ale Nette mi hlasi „Call to undefined block ‚#content‘.“ .

Obsah sablonz presenteru:

{block #content}

<h2>{$location}</h2>

{/block}

Kdyz nakopiruju obsah podsablony natvrdo do hlavni sablony @layout.phtml tak se obsah bloku #content naplni. Poradil byste mi nekdo? delam tohle rozdeleni podsablon protoze mam 2 druhy layoutu (3 a 2 sloupcovy) a do hlavni sablony davam rozhodovani kterou includovat.
Snad jsem to popsal trochu srozumitelne, asi delam nejakou skolackou chybu…

Editoval root (23. 10. 2009 0:45)

timbulko
Člen | 85
+
0
-

skus do sablony na zaciatok pridat {extends "cesta/@layout.phtml"}

root
Člen | 10
+
0
-

TIMBULKO: zkusil sem to, ale porad ta sama hlaska. jen me napada jestli mam davat pred nazev souboru cesty, ted to mam jen

v @layout.phtml mam

{include 'layout01.phtml'}

a v sablone layout01.phtml mam:

{extends '@layout.phtml'}

mam to bez cesty protoze se domnivam ze nette bude hledat sablony v adresari templates, kde mam obe sablony, nebo musim specifikovat cestu? prijde mi ze to sablony nacita kdyz to hlasi ze je nedefinovany block Content.

jak to resite vy kdyz mate web kde se musite rozhodnout jakou hlavni sablonu pouzit?
home – 3 sloupcovy layout s prehledem
ostatni – 2 sloupcovy s detaily clanku, novinek…

Ondřej Mirtes
Člen | 1536
+
0
-

Jdeš na to špatně. V layoutu bys měl mít {include #content}, v layout01.phtml bys měl mít:

{extends @layout.phtml}
...

A v šabloně presenteru (např. Default.default.phtml) bys měl mít:

{extends layout01.phtml}
{block #content}
text

Pro plné pochopení a naučení se s novými šablonami doporučuji přednášku.