Reg. výraz v routeru
- LuKo
- Člen | 116
Omlouvám se, pokud už to tu bylo a jsem slepý, když jsem to nenašel. Snažím se nějakým způsobem vyrobit stránkování. Ve quick-start není zpracované a ze zdrojáku nejsem zrovna chytrý. Chtěl bych url ve smyslu: /admin/users/page-5. Router jsem zkoušel
$router[] = new Route('admin/<presenter>/<page page\-\d{1,3}>', array(
'module' => 'admin',
'presenter' => 'Default',
'action' => 'default',
'page' => 0,
));
V presenteru pak číslo stránky zpracovávám:
class Admin_UsersPresenter extends BasePresenter
{
public function actionDefault($page = 0)
{
echo $page; // zobrazí vždy 0
}
}
Zvládnu formát s lomítky /admin/users/page/5, formát /page-5 je však nad mé síly. Má někdo nějaký nápad? Díky za každé nakopnutí správným směrem.
- LuKo
- Člen | 116
LM napsal(a):
Pak asi použít dvě routy, nebo upravit výchozí hodnotu actionDefault:
Pozor na to že parametr je přetypován podle typu defaultní hodnoty. Proto bylo vždy 0.
Parametr se do presenteru přidá správně, v tom problém není. Jen jsem chtěl, aby „nultá“ stránka měla url bez parametru /admin/users, místo /admin/users/stranka-0. Samostatný router pomohl, díky za tip ;-)