@layout.latte div pouze pro homepage

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

Ahoj mám asi hloupej dotaz,
ale lze v @layout.latte udělat nějaké direktiva IF, že se tam něco vloží jen pokud půjde o homepage a jinak ne?

chci pridat do layoutu pro homepage div s images rotator, ale jinak bude stejny jako vsechny ostatni stranky

Oli
Člen | 1215
+
0
-

Do dokumentace jsi se koukal?

{ifCurrent Homepage:*}images rotator{/ifCurrent}

Btw. Od toho je šablona Homepage/default.latte, ne?

Prošel sis prvně Guick start? Tam by bylo asi nejlepší začít a potom kouknout do dokumentace. Když ti něco nebude jasné, potom se ptát…

ondraondra81
Člen | 82
+
0
-

Oli napsal(a):

Do dokumentace jsi se koukal?

Ano koukal, ale jaksi jsem slepej :(

jinak do default.latte jsem to dat nechtel, v quick start je napsano, ze @layout.latte je to co je pro vechny spolecne.

každopádně dekuji za radu.

Šaman
Člen | 2666
+
0
-

A o co ti přesně jde? @layout je pro všechny společný, právě proto tam nepatří věci, které chceš jen na homepage.

ondraondra81
Člen | 82
+
0
-

Šaman napsal(a):

A o co ti přesně jde? @layout je pro všechny společný, právě proto tam nepatří věci, které chceš jen na homepage.

Ok, nevím jestli to lze rešit lepe tak si nechám poradit.
Nicméně v layout.latte chci definovat layout webu přibližně takto

<div id=header>
....
</div>
<div id=menu>...</div>
/**ale sem chci pouze pro homepage vlozit <div id=imagerotator>...</div>
** Takže sem dam {ifCurrent Homepage:*}{include 'homepage/imagerotator.latte'}{/ifCurrent}
**/
<div id=container>
<div id=sidebar>...</div>
<div id=contet>{block content}</div>
Šaman
Člen | 2666
+
0
-

V layoutu bych si připravil prázdný blok a v konkrétních šablonách bych ho buď naplnil, nebo ne. (Bloky v šabloně přepisují bloky v layoutu, viz třeba blok title v sandboxu.)

@layout.latte

<div id=header>
....
</div>
<div id=menu>...</div>
{block imagerotator}{/block}
<div id=container>
<div id=sidebar>...</div>
<div id=contet>{block content}</div>

homepage/default.latte

{block imagerotator}
	<div id=imagerotator>{include 'homepage/imagerotator.latte'}</div>
{/block}

P.S. To ifCurrent má využití hlavně pro zvýraznění aktuální položky v menu.

Editoval Šaman (15. 4. 2014 10:12)