我需要在不同的路径上实现不同的语言环境。
现在路径/
下的网页和路径/admin
下的管理页面存在。
管理员用户在网页上拥有EN或FR区域设置(取决于他选择的内容),并且只有管理页面中的EN。区域设置不能包含在URL路径中。
问题在于,当记录的管理员使用FR检查网页并进入EN上的管理页面时,网页已管理员回来时在FR上。
我正在考虑在会话中为 web 和 admin 页面存储单独的区域设置,并根据路径读取它们。
没有硬编码或更好的方法的任何建议?
答案 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解析路径。