problem se sablonami
- root
- Člen | 10
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)
- root
- Člen | 10
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
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.