Jak překládat routy v překladu efektivněji než pro každý překlad routu?

theacastus
Člen | 81
+
0
-

Zdravím,

co jsem hledal tak jsem došel k Route::FILTER_TABLE ale asi jsem marnej nebo co, prostě mi umřela po tom co jsem přidal tabulku krom prezeterům i akcím…

Aktuální výřez z RouterFactory.php

$front = new RouteList('Front');
        $front[] = new Route('/info', 'About:default');
        $front[] = new Route('/dilnicky', 'Workshop:default');
        $front[] = new Route('/dilnicky/<id>', 'Workshop:show');
        $front[] = new Route('/tabory', 'Camp:default');
        $front[] = new Route('/tabory/detail/<id>', 'Camp:show');
        $front[] = new Route('/akce/<id>', 'Event:article');
        $front[] = new Route('/akce/stranka/<day>', 'Event:article');
        $front[] = new Route('/krouzky', 'Course:default');
        $front[] = new Route('/krouzky/den/<day>', 'Course:day');
        $front[] = new Route('/krouzky/oddeleni/<section>', 'Course:section');
        $front[] = new Route('/novinky/clanek/<id>', 'Blog:article');
        $front[] = new Route('/novinky/stranka/<page>', 'Blog:page');
        $front[] = new Route('/<presenter>/<action>[/<id>-<page>-<slug>]', 'Blog:default');
        $router[] = $front;

Rout není málo a přemýšlím zda to tak nechat nebo ne, fungují – to ano, ale dá se to napsat líp si myslím… minimálně čistěji, ne ?

Díky

Myiyk
Člen | 321
+
0
-

Mohl by pomoci doplněk https://componette.org/…atic-router/

theacastus
Člen | 81
+
0
-

Myiyk napsal(a):

Mohl by pomoci doplněk https://componette.org/…atic-router/

Jestliže na to dobře koukám, tak by to mělo fungovat v RouterFactory společně s routami tam a zůstane mi platný „fallback“ <presenter>/<action>/[<id>] ?

Myiyk
Člen | 321
+
0
-

Jo, přesně tak.

Router zkouší použít jednotlivé routy a první která mu vrátí nějaký výstup, tak to použije.

Takže první budeš mít static router z toho doplňku a potom tu obecnou routu, která zachytí všechny ostatní adresy.

theacastus
Člen | 81
+
0
-

@Myiyk díky moc!

theacastus
Člen | 81
+
0
-

Jak tak na to koukám, daly by se přes StaticRouter z Nextras generovat třeba nějaké „custom linky“ ?

Nějaké odkazy které by bylo uložená v DB, ideálně je cachovat, ale to řeším až v šabloně…

Šlo by to přidat rovnou do RouterFactory nebo je lepší napsat nějaké ty filtrIn, filtrOut funkce, popř. celý vlastní router ?

Myiyk
Člen | 321
+
0
-

@theacastus ano, jde to

Pracuji na doplňku s routováním z DB, ale ještě není na 100%

Editoval Myiyk (22. 6. 2017 8:26)

Jan Tvrdík
Nette guru | 2595
+
+1
-

Jak tak na to koukám, daly by se přes StaticRouter z Nextras generovat třeba nějaké „custom linky“ ?

StaticRouter umí pro každou dvojici (presenter, action) jenom jednu URL, což je dost zásadní omezení.

Má ale dost jednoduchý zdrojový kód, takže dobře slouží jako základ pro vytvoření vlastního routeru.