Routa pro výpis produktů – jak omezit NODE aby nezobrazoval PAGE-X?
- Alsatian
- Člen | 175
Ahoj, prosím o popostrčení.
Pro výpis produktů z kategorií mám routu
$router[] = new Route('[<locale=cs [a-z]{2}>/]eshop[/<node [a-z0-9-]+>][/page-<visualPaginator-page \d+>]', [
'presenter' => 'Produkt',
'action' => 'prehled',
'node' => null,
'visualPaginator-page' => null,
'do' => 'visualPaginator-showPage',
]);
Nyní bych rád generoval následující odkazy:
/eshop – přehled produktů všech kategorií
/eshop/page-x – stránkování produktů všech kategorií (použit
paginator)
/eshop/nazev-prvni-kategorie – přehled produktů z konkrétní kategorie
(parametr NODE)
/eshop/nazev-prvni-kategorie/page-x – konkrétní kategorie a
stránkování
Při této routě, pokud při všech výpisu ze všech kateogorií (první příklad), kliknu na další stránku, zobrazí se správně, tedy /eshop/page-2. Pokud kliknu opět na další stránku, už se page-2 použije jako NODE a dostávám chybnou url /eshop/page-2/page-3
Tušíte, někdo, jak se toho mám zbavit? Napadá mě do NODE nějak uvézt, že nemůže obsahovat spojení „page-[0–9]+“, ale jak to tam dostat, netuším…
Moc děkuji!
Editoval Alsatian (25. 10. 2019 12:21)
- Marek Bartoš
- Nette Blogger | 1263
Přidej další routu. A nesnaž se všude cpát proměnné, když chceš
matchnout statický string, tak ho tam prostě napiš staticky.
'[<locale=cs [a-z]{2}>/]eshop/page-<visualPaginator-page \d+>'