Skloubení stránkování s routováním
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- stpnkcrk
- Generous Backer | 190
Hledal jsem ve fóru, ale podobný problém jsem nenašel.
V presenteru Blog použítám třídu Paginator ke stránkování.
Routa je definovaná následovně:
<?php
$router[] = new Route("//$domainSteven/blog/?page=<page [0-9]+>", array(
'presenter' => 'Steven:Blog',
'action' => 'default',
'page' => 0,
));
?>
Rád bych docílil toho, aby když $page bude 0, aby výsledná URL byla jen
„/blog/“ a jinak „/blog/?page=<page>“. Výše zmínený router mi
však při $page = 0;
udělá URL „/blog/?page=“.
Jak docílit kýženého výsledku?
Zkusil jsem ještě jinou definici routeru, a to:
<?php
$router[] = new Route("//$domainSteven/blog/<page [0-9]+>", array(
'presenter' => 'Steven:Blog',
'action' => 'default',
'page' => 0,
));
?>
Což sice udělá to co chci („/blog/“, pokud je $page = 0
),
ale pokud není rovno nule, nefunguje pravděpodobně předání proměnné
presenteru.
Pro doplnění: Když v definici presenteru použiju
'page' => NULL
, chová se to divně (jedou udělá „/?page=“
a jednou „/?page=0“.