Jak rozdělit prezentery do sekcí

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

Zdravím, jako začátečník s Netet jsem narazil na (pro mě zatím neřešitelný) problém – mám web, klasicky front-end a administrace, avšak v administraci bych potřeboval ještě o jednu úrověň navíc (nevím jak to přesně popsat) – nyní mám routu /admin/<presenter>/<action>/<id>, (takže s touto routou mám odkazy jako /admin/galerie/edit/5) avšak jelikož bude administrace členěna do několika sekcí (web, galerie,…), tak nevím jak ty samotné sekce reprezentovat – ja udělat, abych mohl každou tu sekci ještě nějak rozčlenit (aby byly odkazy ve tvaru /admin/sekce/prezenter/akce/id) prostě jakoby ještě jednu úroveň navíc. Představoval bych si to pak tak, že při URL /admin/sekce/ by se použil nějaký výchozí presenter nebo něco (třeba již výše zmiňované Vystavy).

Zkoušel jsem nějak vytvořit vhodný formát routy, ale bez úspěchu. A mít to bez sekci s tím, že by byly prezentery GalerieVystavy, GalerieVernisaze, (zkrátka tvaru SekcePrezenter) ale to se mi moc nelíbí. Raději bych nějakou pěknou strukturu, ať je to pěkně pohromadě. Neporadil by někdo jak to udělat?

Díky!

Majkl578
Moderator | 1364
+
0
-

Viděl bych to na modul.

lutor
Člen | 27
+
0
-

Jakože v modulu Admin vytvořit dalších x modulů, kde každý by prezentoval sekci? Mohl byste prosím nastínit, jak by pak vypadal taková definice routy? Děkuji

despiq
Člen | 320
+
0
-

sekce nemuze byt presenter?

lutor
Člen | 27
+
0
-

No já právě nevím. Sekci tady myslím spíš v tom smyslu, že zastřešuje presentery, které spolu nějak souvisejí, týkají se něčeho společného (sekce web bude třeba obsahovat presentery na správu jednotlivých stránek webu, sekce galerie zase na správu video/foto/jiných galerií…

Ani
Člen | 226
+
0
-

lutor napsal(a):

Jakože v modulu Admin vytvořit dalších x modulů, kde každý by prezentoval sekci? Mohl byste prosím nastínit, jak by pak vypadal taková definice routy? Děkuji

Struktura:

AdminModule/
- GalleryModule/
- ContentModule/

Routa:

<module>/<presenter>/<action>/<id>

iguana007
Člen | 970
+
0
-

Já to mám řešené takto:

$router = $application->getRouter();

$router[] = new Route('admin/<presenter>/<action>/<id>/<id2>', array(
	'module' => 'Admin',
        'presenter' => 'Base',
        'action' => 'default',
	'id' => NULL,
	'id2' => NULL,
));

$router[] = new Route('<presenter>/<action>/<filtr>/<id>/<id2>', array(
        'module'    => 'Front',
	'presenter' => 'Homepage',
	'action' => 'default',
	'filtr' => NULL,
	'id' => NULL,
	'id2' => NULL,
));

Struktura aplikace potom je:

app/_common/BasePresenter.php
app/FrontModule/presenters
app/AdminModule/presenters
app/bootstrap.php
atd...
despiq
Člen | 320
+
0
-

ja myslim ze to moc komplikujes,
na spravu stranek webu ti postaci jeden presenter, stejne tak na spravu galerii

lutor
Člen | 27
+
0
-

Jo, tak nakonec se mi to podařilo rozchodit přes vnořené moduly (AdminModule a v něm další moduly a v nich presentery) ale ve finále jsem došel ke stejnému závěru – není to vlastně ani potřeba a je to moc komplikované :-) Takže nakonec to jsou obyč. presentery, žádné moduly/spešl. sekce apod. Každopádně díky všem za rady.