routování podle toho co je za otazníkem
- loov
- Člen | 49
Ahoj potřebuju vyřešit problém:
když mám url – http://www.example.cz/test/
použiji routu $router[] = new NRoute('test/', 'test:default');
když mám url – http://www.example.cz/test/qqq
použiji routu
$router[] = new NRoute('test/<action>', 'qqq:default');
ale když mám url – http://www.example.cz/test/?…
jak by měla vypadat routa v tomto případě, aby se použil mnou definovaný
presenter? a zachovala se správná funkčnost předešlých rout?
Editoval loov (9. 2. 2011 16:29)
- error414-c
- Člen | 45
ja bych to trochu upresnil
mam adresy ve tvaru
admin?pid=nastaveni
admin?pid=logout
pro tyhle adresy pouzivam routu
<?php
$router[] = new Route('admin/?<pid>', array(
'presenter' => 'Admin',
'action' => 'default',
'pid' => 'home',
),( SimpleRouter::SECURED )
);
?>
Vzdy se zavola presenter „Admin“ a zavola akce „default“ ktera podle
parametru pid vykona nejakou akci.
Takto je to reseno protoze se nette nasazovalo na stary projekt a prepisovani by
zabralo hodne casu.
Ted se pridavaji nove funcke a ty chci uz delat v nette. Potreboval bych tedy vyjmout s tohodle pravidla pro routu napriklad „admin/?pid=uzivatele“.
Pro pid „uzivatele“ bych chtel zavolat akci „renderUzivatele“ a ne default.
Zkousel jsem to:
<?php
$router[] = new Route('admin/?pid=uzivatele', array(
'presenter' => 'Admin',
'action' => 'default',
),( SimpleRouter::SECURED )
);
$router[] = new Route('admin/?<pid>', array(
'presenter' => 'Admin',
'action' => 'default',
'pid' => 'home',
),( SimpleRouter::SECURED )
);
?>
ale to nefunguje dobre. Pro adresu „admin/?pid=nastaveni“ odpovida routa
<?php
$router[] = new Route('admin/?pid=uzivatele', array(
'presenter' => 'Admin',
'action' => 'default',
),( SimpleRouter::SECURED )
);
?>
v dokumentaci jsem nenasel zpusob jak ty routy nastavit.
Editoval error414-c (9. 2. 2011 22:56)
- error414-c
- Člen | 45
Michalek napsal(a):
admin/?<pid>
nemá býtadmin/?pid=<pid>
?
puvodne jsem mel admin/?pid=<pid>, konstrukci admin/?<pid> jsem zkousel v ramci testovani noveho chovani ale funguji me obe uplne stejne. Bude to asi tim ze odkazy jsou napsany rucne a ne pres makro link
Editoval error414-c (9. 2. 2011 23:51)