Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jan Vacek
Člen
Avatar
Jan Vacek:27.4.2018 20:42

Ahoj,
snažím se udělat web, kde mám 3 jazyky – CS/EN/DE.
v případě popsaném v kódu se vždy pracuje jen s /en routami, ale nejsem schopnej nastavit, že když se ocitnu na *.eu/cs/, aby se mi všechny vygenerované routy na stránce uvedli do českého stavu, to samé s *.eu/de/ a němčinou. Snažil jsem se udělat i něco jako je Route::FILTER_TAB­LE, ale vždy jsem docílil akorát toho, že v odkazech hodnota nahradila klíč, takže jsem byl stále tam, kde jsem začal.

Nemáte někdo nějaký nápad?

Děkuji

public static function createRouter()
    {
        $router = new RouteList;

        $router[] = new Route('[<lang cs|de>]', 'Main:homepage');

        //en
        $router[] = new Route('branches', 'Main:pobocky');
        $router[] = new Route('about-us', 'Main:onas');
        $router[] = new Route('technology', 'Main:technologie');
        $router[] = new Route('prices', 'Main:cenik');


        //cs
        $router[] = new Route('<lang=cs>/o-nas', 'Main:onas');
        $router[] = new Route('<lang=cs>/technologie', 'Main:technologie');
        $router[] = new Route('<lang=cs>/cenik', 'Main:cenik');
        $router[] = new Route('<lang=cs>/pobocky', 'Main:pobocky');

        //de
        $router[] = new Route('<lang=de>/uber-uns', 'Main:onas');
        $router[] = new Route('<lang=de>/technologien', 'Main:technologie');
        $router[] = new Route('<lang=de>/preisliste', 'Main:cenik');
        $router[] = new Route('<lang=de>/idk', 'Main:pobocky');

        //global
        $router[] = new Route('[<lang cs|de>/]vip',"Contact:kontakt");
        return $router;
    }
 
Odpovědět
27.4.2018 20:42
Avatar
Odpovídá na Jan Vacek
Martin Konečný (pavelco1998):27.4.2018 20:58

Ahoj, nejsem si úplně jistý, ale zkus u těch rout nemít <lang=cs>, ale jen "cs", tedy

$router[] = new Route('cs/o-nas', 'Main:onas');
Nahoru Odpovědět
27.4.2018 20:58
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Jan Vacek
Člen
Avatar
Jan Vacek:28.4.2018 2:07

no, jde mi o to, že v tomto případě nebudu schopnej ale nijak ovlivnit generování odkazů, nebudu moct zjistit, jestli jsem právě na /de nebo na /cs nebo jen na /<subpage>, nebo snad ano? bez hodnoty parametru $lang

 
Nahoru Odpovědět
28.4.2018 2:07
Avatar
Odpovídá na Jan Vacek
Martin Konečný (pavelco1998):28.4.2018 14:25

Zkoušel jsem to teď a takhle se mi to zdá v pořádku:

$router[] = new Route("<lang cs>/o-nas", "Homepage:about");
$router[] = new Route("<lang en>/about", "Homepage:about");

Pokud jsem v jazyce /cs, tak je odkaz veden na /o-nas. Pokud jsem v jazyce /en, odkaz vede na /about.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
28.4.2018 14:25
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.