Routování podle položek v databázi – menu

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

Zdravím.
Zkoušel jsem hledání, ale nedaří se mi najít odpověď :(

Mám v databázi tabulku kde mám strom položek co mi tvoří hlavní navigaci stránek:
id | name | routa | parent | slug

a potřebuju nějak sestavit router kde bych zadefinoval jednotlivé routy tak jak jsou uloženy v DB

/informace-o-necem
/informace-o-necem/podrobneji
/informace-o-necem/vypis
/jine-informace

atd.

A když se pak daná routa přeloží tak budu zase vědět že odpovídá položce s IDčkem XY

Je to nějak realizovatelné?

akadlec
Člen | 1326
+
0
-

No to bych řek že není to pravé ořechové, protože z té DB budu mít routy na jednotlivé Presentery/Akce

akadlec
Člen | 1326
+
0
-

Ještě mě tak napadá, že bych při uložení položky menu z celého stromu vygeneroval XMLko, JSON apod., uložit to do souboru a v routeru bych ten soubor načetl a vygeneroval podle něj routy kde bych určil jaký tvar je pro jaký presenter/action? Abych jednoduše omezil komunikaci s DB, i když bych mohl použít cache takže by to bylo asi na stejno.

Prostě bych tam potřeboval něco takového:

$router[] = new Route("/informace-o-necem", array(
    "presenter" => "Presenter1",
    "action" => "default"
));

$router[] = new Route("/informace-o-necem/podrobneji", array(
    "presenter" => "Presenter1",
    "action" => "jinakce"
));

$router[] = new Route("/informace-o-necem/detail", array(
    "presenter" => "Presenter2",
    "action" => "default"
));

No a samo aby to kooperovalo s makry a metodami pro vytvoření odkazu.

David Matějka
Moderator | 6445
+
0
-

napis si vlastni router