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.

RSS tématu Téma zavřeno