Routa generuje latte default, přitom výchozí je jiná latte
- Alsatian
- Člen | 175
Taková hloupost, ale třeba budete vědět.
Potřebuji použít následující routu:
$router[] = new Route('sign[/<action>]', 'Sign:in');
(Používám ji proto, že dále filtruji stránky adminu „admin-<presenter>/<action>“ a následně stránky webu jako ‚<node>‘, ‚Page:pages‘. Lepší by bylo použít moduly Front a Admin, ale zatím jsem moduly nerozchodil korektně.)
Výchozí šablona není default, ale „in“.
Pokud nechám vytvořit odkaz <a n:href=„Sign:“>Zpět na
přihlašovací stránku</a> – v url se mi generuje Sign/default
místo očekávaného „Sign“ bez lomítka a textu default s odkazem na
action „in“.
Vyřešil jsem to prozatím filtrem, ale nevím, jestli je to chybka nebo na to jdu špatně.
$router[] = new Route('sign[/<action>]', [
'presenter' => 'Sign',
'action' => 'in',
null => [
Route::FILTER_IN => function (array $params) {
return $params;
},
Route::FILTER_OUT => function (array $params) {
if($params['action'] == 'default') unset($params['action']);
return $params;
},
]
]);
Editoval Alsatian (10. 10. 2018 0:31)
- duke
- Člen | 650
Alsatian napsal:
Výchozí šablona není default, ale „in“.
Pokud nechám vytvořit odkaz<a n:href="Sign:">Zpět na přihlašovací stránku</a>
– v url se mi generuje „Sign/default“ místo očekávaného „Sign“ bez lomítka a textu default s odkazem na action „in“.
Pokud se nemýlím, zápis Sign:
v n:href je jen zkratkou pro
zápis Sign:default
bez ohledu na to, jaké máš routování.
Nemůžeš tam mít prostě
<a n:href="Sign:in">Zpět na přihlašovací stránku</a>
?
Jaké to vygeneruje url (zda bez uvedené action či s) už pak závisí na
těch routách.