Symfony 2 URL结构中的可选文化参数?
Posted
技术标签:
【中文标题】Symfony 2 URL结构中的可选文化参数?【英文标题】:Optional culture parameter in Symfony 2 URL structure? 【发布时间】:2014-09-26 08:13:30 【问题描述】:我的 Symfony 2 应用程序存在内部化问题。在旧网站 URL 结构中,默认文化是“en”,并且有许多网站的翻译版本,但对于英文版本,文化参数从 URL 中删除,如下所示:
/search - the culture "/en" is dropped
/fr/search - "/fr" is available
/es/search - likewise
我正在尝试在应用程序中创建路由,但我似乎没有找到使 URL 的“/en”部分成为可选的解决方案。
我检查了文档,但似乎没有选项。是否可以通过标准 Symfony 配置或者我应该为此做一个自定义路由器?
【问题讨论】:
【参考方案1】:我建议查看https://github.com/schmittjoh/JMSI18nRoutingBundle。
基本上,这将允许您根据所选国家/地区将您的路线国际化。
您可以使用传统的 symfony 路由来做到这一点,例如
/**
* @Route("/country")
*/
Class Something
/**
*@Route("/search"), name="search"
*/
public function searchAction()
country 参数将成为动态路由路径的一部分的位置。
但我会推荐 jms 解决方案,因为如果您希望采用这种方法,这将有助于轻松翻译您的页面。
【讨论】:
优秀的捆绑包,刚刚检查过,它完全符合设置所需的 - 策略:prefix_except_default 无忧,乐于助人以上是关于Symfony 2 URL结构中的可选文化参数?的主要内容,如果未能解决你的问题,请参考以下文章