Default parametr v hezké URL

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
RomanNTA
Člen | 2
+
0
-

Ahoj,

Pro Vás to bude možná hračka :)

Web je na nette.nta/ a po prokliknutí na fotogalerií se dostanu na
nette.nta/fotogalerie/
Chybí mi tam první parametr a to je rok tj.
nette.nta/fotogalerie/2015/

neboli:

při vstupu na presenter Fotogalerie:default si umím zjistit jaký je parametr rok. Je to vždy aktuální rok. V url mi toto chybí. Pokud se následně proklikám v submenu roky, pak ve všech, včetně aktuálního roku, je již správně rok v url uveden.

Celé mi to funguje … jen pro roboty pak mám stejnou stránku dvakrát. A to při prvním vstupu.
nette.nta/fotogalerie/
nette.nta/fotogalerie/2015/
jsou pak identické … a příští rok se to posune na 2016

Routy:

$router[] = new Route('fotogalerie/<rok>[/<galerieId>]-[<galerieJmeno>]', array(
      'presenter' => 'Fotogalerie',
      'action' => 'rocnik',
      'rok' => date("Y")
));
$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');

Routy mám … viz výše a jedou. Zkušel jsem i laborovat se zavorkami, ale k ničemu to nevedlo.
Funguje <rok [0–9]+> nebo <rok=2015 [0–9]+>

Předpokládám, že počátek bude u volání z menu, což je

<li><a href="{link Fotogalerie:default}" class="first {ifCurrent Fotogalerie} active {/ifCurrent}">Foto</a></li>

a dál nevím. Jak se sestaví url s defaultním parametrem, který chci vždy vypsat v url ? Tj. i při prvním vstupu na presenter ? Je na to řešení ?

Dík

jiri.pudil
Nette Blogger | 1029
+
0
-

Střílím od boku, ale mohlo by to být tím, že odkazuješ na Fotogalerie:default, ale v routě máš Fotogalerie:rocnik, takže ti ten odkaz vezme až ta následující, obecnější routa. Co se stane, když odkážeš {link Fotogalerie:rocnik}?