Symfony 2.3不同路径上的不同语言环境

时间:2015-02-20 15:27:15

标签: php symfony routing locale multilingual

我需要在不同的路径上实现不同的语言环境。 现在路径/下的网页和路径/admin下的管理页面存在。

管理员用户网页上拥有EN或FR区域设置(取决于他选择的内容),并且只有管理页面中的EN。区域设置不能包含在URL路径中。

问题在于,当记录的管理员使用FR检查网页并进入EN上的管理页面时,网页已管理员回来时在FR上。

我正在考虑在会话中为 web admin 页面存储单独的区域设置,并根据路径读取它们。

没有硬编码或更好的方法的任何建议?

2 个答案:

答案 0 :(得分:1)

您可以添加路线要求以定义可能的区域设置列表。

请参阅Adding Requirements section for Routing

# app/config/routing.yml
homepage:
    path:      /{_locale}
    defaults:  { _controller: AppBundle:Main:homepage, _locale: en }
    requirements:
        _locale:  en|fr

答案 1 :(得分:0)

我的方法是创建一个事件监听器,根据访问的路径强制所需的语言环境。只使用regexp解析路径。

相关问题