Router – předání parametru do modelu

Dvory59
Člen | 40
+
0
-

Zdravím.
Mám takový malý problém s routování.

Mám routu :

$router[] = new Route('[<language en|cz>/]<presenter>/[<action>/]<id \d+>-[<nicename>]/[<url>]',
            array(
                'language' => 'en',
                'presenter' => [
                    Route::VALUE => 'Homepage',
                    Route::FILTER_TABLE => [...]
                ],
                'action' => 'detail',
                'id' => '',
                'nicename' => [
                    Route::VALUE => '',
                    Route::FILTER_OUT => function ($value) {
                        return Strings::webalize($value);
                    }
                ]
            ));

Vše funguje jak má, když jdu přes odkaz " …/post/133-nicename/„ ukáže se vše tak, jak má. "Problém“ nastává při odstranění nicename, tedy jen při odkazu " …/post/133". Odkaz funguje, odkáže mě to na správný článek, ale bez <nicename>.

Můžu poprosit o navigaci, jakým způsobem mohu na základě id v routeru najít danou nicename a přiřadit? Cesta bude hádám přes FILTER_OUT v nicename, ale nevím jak v něm získat parametr ID, abych ho mohl poslat do modelu a vrátit nicename.

Díky moc za každou radu

David Matějka
Moderator | 6445
+
+1
-

ahoj, koukni na globalni filtry, tam mas pristup ke vsem parametrum a muzes delat jejich libovolnou transformaci