Možná chyba v routování?
- Mas3r
- Člen | 116
Chtěl jsem jen tak ze srandy zkusit vypnout všechny routy co sem měl a dát jen tuto:
<?php
$router[] = new Route(
'<module>/<presenter>/<action>/<id>',
array(
'module' => 'Default',
'presenter' => 'Default',
'action' => 'default',
'id' => NULL,
)
);
?>
Bohužel, MATCH fungoval dobře (až na to že se mi místo Default:Default:default nezobrazilo nic), ale linky se už negenerovaly.
Tato už funguje správně:
<?php
$router[] = new Route(
'<module>/<presenter>/<action>/<id>',
array(
'module' => 'Pages',
'presenter' => 'View',
'action' => 'default',
'id' => NULL,
)
);
?>
Správný MATCH i CONSTRUCT.
Nevíte s čím by mohl byt problém? Že by se mu nelíbilo „Default“ ?
Edit: Nejnovější revize.
Editoval Mas3r (19. 2. 2009 15:00)
- PetrP
- Člen | 587
Mas3r napsal(a):
Bohužel, MATCH fungoval dobře (až na to že se mi místo Default:Default:default nezobrazilo nic), ale linky se už negenerovaly.
Nevíte s čím by mohl byt problém? Že by se mu nelíbilo „Default“ ?
Co přesně znamená že se nezobrazovalo nic? Jako že to generovalo adresu
/
nebo se zobrazovala prázdná stránka?
Jestli je to prvni problém tak změna tady:
$router[] = new Route(
'<module>/<presenter>/<action>/<id>',
array(
'action' => 'default',
'id' => NULL,
)
);
Sice je to nesmysl mít url Default/Default/ ;]
- Proki
- Člen | 66
Přesně tohle jsem řešil předevčírem, taky mám aplikaci rozdělenou do modulů a zatím nechci řešit podobu URL adres.
Nakonec jsem to vyřešil vložením téhle jediné routy (nevím proč, ale parametr module nefunguje… není to bug?):
<?php
$router[] = new SimpleRouter(array(
'presenter' => 'Default:Default',
'action' => 'default'
));
?>
Editoval Proki (20. 2. 2009 19:40)