routy ve tvaru home.php?id=<pid> a home.php?name=<q> dělá jako by bylo definováno jen home.php
- neznamy_uzivatel
- Člen | 115
Ahoj,
mám dva problémy s routováním.
Mám presentery Category a Article a chtěl bych, aby:
url home.php?id=123 směrovala na Front:Article:Show s tím id jako
pid a
url home.php?name=recepty směrovala na Front:Category:Default
(?name=recepty)
a dále aby home.php bez parametrů směrovalo na Front:Homepage:Default
Mám routy:
$router[] = new Route('home.php?id=<pid>', 'Front:Article:Show', Route::SECURED);
$router[] = new Route('home.php?name=<name>', 'Front:Category:Default', Route::SECURED);
$router[] = new Route('home.php', 'Front:Homepage:Default', Route::SECURED);
Problém je v tom, že ať už použiju jakoukoli variantu – home.php,
home.php?id…, home.php?name=… vždy matchne první routa v seznamu a ty
parametry to vůbec neřeší… (takže první matchne a druhé dvě mají
„may“). Jde to nějak vyřešit?
(Url v těchto tvarech existují ve vyhledávačích a nechci je měnit. )
Pak druhá věc, pro mě taková zajímavost…
obecná routa úplně na konci: (tady jsem ještě neřešil, že index bude na
home.php)
$router[] = new Route('<presenter>/<action>[/<id>]', 'Front:Homepage:Default', Route::SECURED);
A v šabloně:
<a n:href="Homepage:Default">Hlavní stránka</a>
Tady je problém v tom, že v šabloně to vygeneruje odkaz
domena.cz/front.homepage/default a ten když se na něj klikne, tak to nette
přesměruje na domena.cz/
jak docílit, aby tam nebylo to mezipřesměrování?
Díky :)
- neznamy_uzivatel
- Člen | 115
Ohledně druhého problému s default a přesměrováním se mi v dalším
projektu podařilo odhalit kde má kanec korán:
https://forum.nette.org/…na-jiny-tvar#…