Základ – moc tomu nerozumím

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Martin Mates
Člen | 179
+
0
-

Omlouvám se za triviální dotaz, ale moc moudrý z té dokumentace nejsem.

Chtěl bych, aby se adresa: /?kraj=108&expert=realitni&presenter=Mapa přeložila na /108/realitni/

Napsal jsou routu:

<?php
$router[] = new Route('<kraj>/<expert>/<presenter>', array(
                'presenter' => 'Mapa',
                'action' => 'default',
));
?>

Tohle by asi mělo fungovat, nicméně asi se do toho mísí další routa, která je:

<?php
$router[] = new Route('<presenter>/<action>/<id>', array(
                'presenter' => 'Homepage',
                'action' => 'default',
                'id' => NULL,
));
?>

V tuto chvíli se adresa přeloží na /108/realitni/homepage a směřuje to na Homepage presenter. Pochopil jsem to z té dokumentace tak, že když uvedu kraj, experta a ne presenter, tak se použije výchozí presenter Mapa. Ale neděje se tak.

Poprosil bych o mírné nakopnutí. Díky

Ped
Člen | 64
+
0
-

co router debugger? treba z toho bude jasnejsi proc to dela…

a hlavne mi z toho neni jasne z ceho Nette generuje tu „/108/realitni/homepage“, chtelo by to sem dat i ten kod ktery tu linku nageneruje, v jakem je objektu a pod..

Ped
Člen | 64
+
0
-

Aneb jinak, „/108/realitni/homepage“ vypada ok, spis je problem v tom ze si Nette zapomnel rict ze ta linka nema smerovat na homepage presenter, ale na presenter Mapa, jinak linka vypada ze se postavila podle toho prvniho pravidla, tak jako si chtel.

„Pochopil jsem to z té dokumentace tak, že když uvedu kraj, experta a ne presenter, tak se použije výchozí presenter Mapa. Ale neděje se tak.“

To se ti to asi trochu micha, do {plink} makra musis uvest cilovy presenter, pokud se lisi od aktualniho (t.j. z presenteru Mapa nemusis hlasit ze chces mapu a muzes pouzit {link} makro). Ta default hodnota v definici route dela jenom to, ze se pri zvoleni presenteru Mapa vygeneruje link bez te treti casti, ne ze pri nezadani presenteru v {link / plink} se dosadi Mapa.