@layout.latte udělat index2
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Rellik
- Člen | 104
ono stačí k určitému presentru vytvořit latte, které se nebude vkládat do toho @layout.latte – tzn. nebude tam {block content} … {/block} ale uděláš tam celou stránku jako kdyby to byl index. Aspoň tak sem to vypozoroval, když sem to jednoho templatu zapomněl přidat to nastavení bloku… Jestli to tak může být ti odpoví někdo povolanější.. :)
- Etch
- Člen | 403
Možností je více.
- Nakopírování jiného layoutu do templates přímo do adresáře presenteru.
templates
|-----PresenterName1
| |----ViewName1
| |----ViewName2
|-----PresenterName2
| |----ViewName1
| |----ViewName2
| |----@layout.latte
|-----PresenterName3
| |----ViewName1
| |----ViewName2
| |----ViewName3
|@layout.latte
- Můžeš vytvořit layout s jiným jménem a v presenteru volat setLayout()
templates
|-----PresenterName1
| |----ViewName1
| |----ViewName2
|-----PresenterName2
| |----ViewName1
| |----ViewName2
|-----PresenterName3
| |----ViewName1
| |----ViewName2
| |----ViewName3
|@layout.latte
|@test.latte
a v presenteru můžeš volat
$this->setLayout('test');
Pokud by si tedy volal v PresenterName1
metodu
$this->setLayout('test')
tak by se pro tento presenter použil
layout @test.latte
a ostatní presentery by nadále používaly
layout @layout.latte
.
Je dobré pochopit jak se layout vlastně dohledává.
app/templates/PresenterName/@layoutName.latte
app/templates/PresenterName.@layoutName.latte
app/templates/PresenterName/@layoutName.phtml
app/templates/PresenterName.@layoutName.phtml
app/templates/@layoutName.latte
app/templates/@layoutName.phtml
S tím, že jméno layoutu je defaultně „layout“ a nebo si ho změníš
právě metodou setLayout()
Editoval Etch (6. 3. 2012 12:07)