Dynamicky parameter s filtrom
- xrep
- Člen | 51
Ahoj,
snažím sa zadefinovať vstavaný router ( RouteList, Route) tak aby mi dokázal pracovať s dynamickým parametrom. Aktuálne mám router nejako takto, každopádne to nedokážem ani za svet rozbehať.
<?php
$router[] = new Route('[<locale=en [a-z]{2}>/]admin[/<cid>]/<presenter>/<action>/<id>[/<slug>]', array(
'module' => 'Admin',
'cid' => [
Route::VALUE => null,
Route::FILTER_TABLE => [
'auth' => null
],
Route::FILTER_STRICT => true,
],
'presenter' => 'Dashboard',
'action' => 'default',
'id' => NULL
));
$router[] = new Route('[<locale=en [a-z]{2}>/]<presenter>/<action>/<id>[/<slug>]', array(
'module' => 'Frontend',
'presenter' => 'Homepage',
'action' => 'default',
'id' => NULL
));
?>
snažím sa v podstate o to, že mám modul Admin, v ktorom mám v BasePresenteri nastavený persistent parameter $cid, ktorý sa mi tam naplní a na základe prihláseného admina dostanem práve hodnotu $cid
čiže link vyzerá nejako takto: /admin/103/dahsboard/ ↔ <modul>/<cid>/<presenter>/, problém je v tom, že toho admina musím nejako prihlásiť a odhlásiť. A na to mám v module admin presenter Auth, o ktorom si ale Routa myslí, že je $cid parameter. Tak sa to snažím nejako riešiť filtrom, no riešenie hore ma háže na ‚App\Modules\Frontend\Presenters\AdminPresenter‘ ak volám /admin/ pričom by ma malo hodiť na /admin/dashboard/ ( dashboard je v module admin a v prípade neprihláseného užívateľa redirectuje na /admin/auth/login )
Editoval xrep (9. 9. 2015 16:14)
- xrep
- Člen | 51
Vyriešené
<?php
$router[] = new Route('[<locale=en [a-z]{2}>/]admin/auth/<action>/<id>[/<slug>]', array(
'module' => 'Admin',
'presenter' => 'Auth',
'action' => 'default',
'id' => NULL
));
$router[] = new Route('[<locale=en [a-z]{2}>/]admin/<cid>/<presenter>/<action>/<id>[/<slug>]', array(
'module' => 'Admin',
'cid' => null,
'presenter' => 'Dashboard',
'action' => 'default',
'id' => NULL
));
?>