@default.latte – pro každou část aplikace jiná šablona

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

Ahoj,
dělám aplikaci, která bude mít více odlišných částí (uživatelská, administrátorská, …). Jak nejlépe udělat, abych měl pro káždou tuto čast jinej @layout?
Díky za nápady, Dan.

xciza
Člen | 194
+
0
-

Ahoj,
aplikaci rozděl na moduly a pak v každým modulu můžeš mít zvlášť presentery a šablony právě pro ten modul + specifické @layout.latte soubory

Šaman
Člen | 2666
+
0
-

Moduly jsou fajn, ale kdybys to s nima neuměl, tak nastavit layout můžeš v nějakých FooBasePresenterech, které bude pro každou část appky jiné (v případě modulů jsou to ModuleBasePresentery).

kloban
Člen | 123
+
0
-

Udělal jsem si teď jeden modul app/AdminModule kde mám prezenter AdministracePrezenter.
Část apliakce mám tedy v tom modulu a část aplikace mám v app/prezenters.

Teď se z šablony v app/templetes snažím udělat odkaz ve tvaru

<n:href=':Admin:Administrace:default'>Administrace</a>

Odkaz ale nefunguje. Mám tam nějakou evidentní krpu?

David Matějka
Moderator | 6445
+
0
-

ne, takovyhle popis chyby opravdu nestaci – pise to nejakou chybu nebo co?

btw, odkaz mas predpokladam:

<a n:href=...>

a ne jak pises <n:href

mas v tom presenteru spravny namespace?

kloban
Člen | 123
+
0
-

Ano, odkaz mám

<a n:href=...>

Namespace je takto

namespace App\Admin\Presenters;

A místo linku se do html vygeneruje:
error: Cannot load presenter ‚Admin:Administrace‘, class ‚App\AdminModule\Presenters\AdministracePresenter‘ was not found in ‚/disk1/www/cz/snadrekneano/dp/rezerv/app/AdminModule/presenters/AdministracePresenter.php‘.

Editoval kloban (2. 5. 2014 15:25)

Jan Endel
Člen | 1016
+
0
-

Presenter ne prezenter

David Matějka
Moderator | 6445
+
0
-

a namespace App\AdminModule\Presenters a ne jen App\Admin\Presenters

kloban
Člen | 123
+
0
-

Prezenter byl překlep.

Díky za radu, měl jsem špatně to namespace. S „App\AdminModule\Presenters“ to funguje. :-)