Koncovka domény com a eu a překladová tabulka v routeru

zoool
Člen | 89
+
0
-

Ahoj,
mám v routeru překladovou tabulku pro jazyky podle domény, pokud zadám doménu s com tak se automaticky přesměruje na eu, jak toto chování zrušit? Když odstraním ve FILTER_TABLER to ‚com‘ ⇒ ‚en‘, tak se přesměrování již nedělá, ale zase to nevybere ten jazyk.
Děkuji



$routerFront[] = new Routers\Route($pred.'<locale sk|de|eu|com|cz>/<presenter>/<action>[/<id>]/',
            [
                "presenter" => "Homepage",
                "action" => "default",
                'locale' => [
                    Routers\Route::FILTER_TABLE => [
                        'com' => 'en',
                        'eu' => 'en',
                    ]
                ]
            ]
        );

Editoval zoool (18. 1. 2023 14:50)

m.brecher
Generous Backer | 758
+
0
-

Ahoj,

Nette Router v zásadě hledá shodu s routou tu přeloží na $request a pošle do presenteru. Ten kontroluje duplicitu url a to tak, že vygeneruje z $reuest url a porovná s aktuálním url. Pokud se liší, tak na url z routeru PŘESMĚRUJE.

Takže routy musíme navrhnout tak, aby nevznikaly duplicity. Duplicitu vidím v tom, že url domen.com a domena.eu vrací stejný $request. Jako kanonickou bere Router poslední ve filtru.

Nemíchej dohromady v jednom parametru $locale koncovku domény a jazyk. Vyhoď filter z Routeru a např. v BasePresenteru si převeď domény na příslušnou jazykovou verzi.

zoool
Člen | 89
+
+1
-

Děkuji, v presenteru to moc nechci řešit, když doména jednoznačně určuje jazyk. Rozdělil jsem to ale na Britskou a Americkou angličtinu v souboru pro jazykovou mutaci a už to funguje.

m.brecher
Generous Backer | 758
+
+1
-

@zool

když doména jednoznačně určuje jazyk

Právě že v reálném životě to tak není, Německo, Rakousko, Švýcarsko, nebo Portugalsko a Brazílie, a španělština …

MajklNajt
Člen | 471
+
0
-

m.brecher napsal(a):

@zool

když doména jednoznačně určuje jazyk

Právě že v reálném životě to tak není, Německo, Rakousko, Švýcarsko, nebo Portugalsko a Brazílie, a španělština …

takisto v blízkom Rakúsku, koncovka .at, jazyk DE