Proč se zobrazuje DEFAULT v URL?

- reidim
 - Člen | 4
 
Zdravím,
mám problém který mi hlava nebere.
Mám FotogaleriePresenter, který má
actionDefault($id) a renderDefault($id).
Pokud v Latte vytvořím odkaz:
<a n:href="fotogalerie:default 2012">2012</a>
tak bych chtěl, aby mě to přesměrovalo na
fotogalerie/2012.
Místo toho mě to však přesměruje na
fotogalerie/default/2012.
Je mi jasný že to můžu obejít nějakým actionRok a renderRok a mít pak
fotogalerie/rok/2012, ale to nechci a zkrátka chci, aby
výsledná adresa byla fotogalerie/2012.
V bootsrapu mám jednu jedinou Routu a to:
$container->router[] = new Route('fotogalerie/<id>', array(
    'presenter' => 'fotogalerie',
    'action' => 'default'
));
V čem je problém, že se mi tam vždycky nacpe ten DEFAULT do URL?
Nette mám akutální a běží mi to na localhost Apache Serveru.
Díky Radim
Editoval reidim (25. 3. 2013 18:21)

- Felix
 - Nette Core | 1271
 
Bacha na RouterFactory, jestli pouzivas sandbox, tak je ve slozce app/router/RouterFactory.php.
Takze tu tvoji routu pridej tam nad defaultni routu.
Link: https://github.com/…rFactory.php#L23
Editoval Felix (25. 3. 2013 19:05)

- reidim
 - Člen | 4
 
Přišel jsem na to, jak docílit odmazání DEFAULT z URL, ale těžko
říct, zda ne až moc násilně:
Nechal jsem si bootstrapu před vlastní definicí routy vypsat proměnnou
router[]:
dump($container->router);
die();
To mi vypsalo následující:
Nette\Application\Routers\RouteList(3) {
   cachedRoutes private => NULL
   module private => ""
   list private => array(2) [
      0 => Nette\Application\Routers\Route(7) {
         mask private => "index.php" (9)
         sequence private => array(1) [ ... ]
         re private => "#index\.php/?\z#Aiu" (19)
         metadata private => array(2) { ... }
         xlat private => array(0)
         type private => 3
         flags private => 1
      }
      1 => Nette\Application\Routers\Route(7) {
         mask private => "<presenter>/<action>[/<id>]" (27)
         sequence private => array(11) [ ... ]
         re private => "#(?:(?P<presenter>(?U)[a-z][a-z0-9.-]*)/(?:(?P<action>(?U)[a-z][a-z0-9-]*)(?:/(?P<id>(?U)[^/]+))?)?)?/?\z#Aiu" (109)
         metadata private => array(3) { ... }
         xlat private => array(0)
         type private => 3
         flags private => 0
      }
   ]
}
Ani jednu z těchto Route jsem v bootstrapu nekonfiguroval a tak předpokládám, že jsou tam defaultně z Nette. Tu druhou jsem se pokusil offsetem odstranit, ale nepodařilo se. Proto jsem ji přepsal násilně takto:
$container->router->offsetSet(1, new Route('', 'Homepage:default'));
Po tomto přemázání mi již adresování bez DEFAULT v URL funguje.
Je to opravdu jediná možnost? Proč mám již předem definovanou ROUTU
<presenter>/<action>[/<id>]?
Díky