EN verze microsite – hloupé řešení

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

Ahoj,

již několik let provozuji mini microsite a chtěl bych přidat EN verzi.
Nechci nicméně použít žádný translator atp., stačí mi tyto možnosti:

1. locale v parametru routy
např. www.mojedomena.cz?…
To by nebyl problem, nicméně lze, případně jak, v presenteru dle parametru renderovat konkrétní template?

nebo

2. www.mojedomena.cz/en
Zde nevím, jak tu routu sestavit…

Můžete mi dát nějaké hinty? Díky moc

David Matějka
Moderator | 6445
+
0
-

jednou z moznosti bude prekryt metody formatLayoutTemplateFiles a formatTemplateFiles v presenteru, aby to vratilo cestu, ktera bude zahrnovat i locale. takze treba templates/en/Homepage.default.latte a dle toho pak ty sablony umistis.

routa bude vypadat asi takhle:

new Route('<locale>', ['presenter' => 'Homepage', 'action' => 'default']);
Shampoo
Člen | 38
+
0
-

Ouuu, díky, ale neexistuje někde nějaký příklad? :D

jiri.pudil
Nette Blogger | 1028
+
+1
-

Podívej se, jak jsou ty metody implementované v Nette, a odpíchni se od toho, v podstatě tam jen potřebuješ začlenit parametr locale, který získáš přes getParameter