Zacatecnik router
- Ani
- Člen | 226
Zdravim, po precteni prispevku Nette – pohled začátečníka (splní má očekávání?) od LastHunter, jsem se rozhodl, ze to taky vyzkousim. Zatim relativne vsechno chapu, ale pri routovani sem narazil na problem.
Co sem si prohlizel foru, tak to docela dela problemy, proto by mozna nebylo spatny, kdyz by nekdo znalej udelal priklad rout pro ten ukazkovy priklad s tabulkama, urcite by to lidem hodne pomohlo.
A ted k memu problemu.
Mam trochu modifikovany priklad z ukazky, takze presenter Default view default… Na strance mam prochazeni tabulkou (na stranku se vypise jen 30 zaznamu, takze odkaz na dalsich 30). Jakou stranku chci zobrazit predavam v promeny page. Bez rout to vypada treba takhle /document_root/?page=2 a vsechno funguje. Kdyz zapnu routovani odkaz vypada takhle /document_root/2 coz se mi libi, ale vyhodi to 404 stranka nenalezan.
<?php
$router[] = new Route('<page>', array(
'presenter' => 'Default',
'view' => 'default',
'page' => null
));
?>
Editoval Ani (2. 2. 2009 11:00)
- Mas3r
- Člen | 116
Ani napsal(a):
<?php $router[] = new Route('<page>', array( 'presenter' => 'Default', 'view' => 'default', 'page' => null )); ?>
Pokud vložíš parametr do routeru, tak se „zpěkní“. Pokud máš jen jednu stránku použij SimpleRouter.
Nebo zkus:
<?php
$router[] = new Route('<presenter>/<view>', array(
'presenter' => 'Default',
'view' => 'default',
'page' => null
));
?>
- Ani
- Člen | 226
Jo tak to bylo tim Apachem mel sem tam nejaky zmatky v nastaveni, diky. :) SimpleRouter jeste prozkoumam.
Pak bych se chtel zeptat, kdyz budu mit tabulku, treba s cukrama a druhou s vyrobcema cukru. Seznam cukru budu chtit vypisovat ve dvou variantach (zkracene, detailne), tak si udelam jeden presenter pro cukr a v nem dva pohledy. A jeden presenter pro vyrobce a vnem jeden pohled? Nebo to mam davat do jednoho presenteru… Proste nejak vim jak to funguje, ale nejsem si jistej s tim navrhem.
- PetrP
- Člen | 587
Ani napsal(a):
Jo tak to bylo tim Apachem mel sem tam nejaky zmatky v nastaveni, diky. :) SimpleRouter jeste prozkoumam.
SimpleRouter je velmi jednoduchý, defakto všechno hází za otazník. Když nenastavíš žádnou routu (což byl tvůj případ na začátku), tak se zapne tato defaultní SimpleRouter routa:
$router[] = new SimpleRouter(array(
'presenter' => 'Default',
'action' => 'default',
));
Pak bych se chtel zeptat, kdyz budu mit tabulku, treba s cukrama a druhou s vyrobcema cukru. Seznam cukru budu chtit vypisovat ve dvou variantach (zkracene, detailne), tak si udelam jeden presenter pro cukr a v nem dva pohledy. A jeden presenter pro vyrobce a vnem jeden pohled? Nebo to mam davat do jednoho presenteru… Proste nejak vim jak to funguje, ale nejsem si jistej s tim navrhem.
Tak nějak, Presenter pro každou logickou jednotku.
V případě toho Cukru bych dal jeden Action (asi default) v něm bych
načítal data atd. a dva View (např default a detail), podle kterých se
akorát vyberou šablony.