Hezká URL, aneb typy na psaní presenterů a šablon
- wb2009
- Člen | 125
zdravím,
řeším takový problém, zatím jsem to nikde nenašel, abych řekl pravdu jsem dnes trochu už přepracovanej, tak možná proto, no nic, k problému.
abych měl cool URL, tak jsem vždy nazval můj presenter např: Oskole a moje URL byla o-skole/bla-bla-neco
no jenže teď koukám, že od tý doby co mám aktuální nette, tak se mi zobrazuje oskole/bla-bla-neco, tedy zajímavé je, že u šablon když napíšu např: adresaKontakty routa mi zobrazí oskole/adresa-kontakty, takže se ptám, je něco u mně špatně? Nebo už u presenterů se nerozlišují velká a malá písmena? případně jsou ještě nějaké triky pro cool url?
- wb2009
- Člen | 125
OK, zkusil jsem toto
$container->router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = $route = new Route('<presenter>/<action>/<id>', array(
'presenter' => array(
Route::VALUE => 'Akce',
Route::FILTER_TABLE => array(
// řetězec v URL => presenter
'akce-skoly' => 'Akce'
),
),
'action' => 'default',
'id' => NULL,
));
a nefunguje, resp. žádná chyba, jen se mi v URL nezobrazí nic a to doslova…
Editoval wb2009 (2. 9. 2012 19:58)
- Jan Tvrdík
- Nette guru | 2595
$route = new Route('<presenter>/<action>/<id>', array(
'presenter' => array(
Route::FILTER_TABLE => array(
// řetězec v URL => presenter
'akce-skoly' => 'Akce'
),
),
'action' => 'default',
'id' => NULL,
));
- Jan Tvrdík
- Nette guru | 2595
wb2009 wrote: Paráda díky a mohu se zeptat proč tam vypadlo to Route::VALUE, v dokumentaci to tam tak je? :)
Skvělý dotaz. Kdybych nebyl líný, napsal bych ti to už minule :)
Route::VALUE
slouží pro nastavený výchozí hodnoty.
Následující čtyři routy jsou zcela ekvivalentní (pokud se nemýlím,
pochopitelně).
$route = new Route('<presenter=Homepage>/<action=default>');
$route = new Route('<presenter>/<action>', 'Homepage:default');
$route = new Route('<presenter>/<action>', array(
'presenter' => 'Homepage',
'action' => 'default',
);
$route = new Route('<presenter>/<action>', array(
'presenter' => array(Route::VALUE => 'Homepage'),
'action' => 'default',
);