Překrývání route <id> a <action>/<id>

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

Zdravím,

mám dvě routy:

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


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

pokud tyto dvě routy mám v tomto pořadí a volám {link Homepage:view, $id} tak mi to udělá url domena.cz/view?id=id a ne jak bych očekával domena.cz/view/id. Samozřejmě pokud prohodím tyto dvě routy tak nebude fungovat domena.cz/id. Dá se to nějak udělat, nebo mi něco uniká? Snažil jsem se pročíst různé příklady zde na foru a v dokumentaci ale bohužel jsem nezjistil jak na to.

Předem moc díky za rady.

Sajmi
Člen | 9
+
0
-

Zkus tohle:

<?php
$router[] = new Route('<id>', array(
            'module' => 'Front',
            'presenter' => 'Homepage',
            'action' => 'view', // tady si měl 'default'
            'id' => NULL,
    ));
?>
cmelis
Člen | 26
+
0
-

Pokud to dobře chápu tak to mi nepomůže.

Pokud volám domena.cz/id – tak to je Front:Homepage:default ale potřebuju volat i Front:Homepage:view a to je ten problém, pokud mám první routu jen s id tak se mi to volá jako domena.cz/view?id=id a ne jako domena.cz/<action>/<id>

mkoubik
Člen | 728
+
0
-

Skus prohodit pořadí rout s tím, že pokud id bude zároveň název action, tak se spustí ta action.

cmelis
Člen | 26
+
0
-

Mohl by jsi mi prosím napsat alespoň nějak zhruba jak by to mohlo vypadat v kódu?