我正在寻找一个解决方案,我可以将捆绑包实现到我的基本模板中,以便它可以在我的项目的每个页面上显示,而不会将其包含在每个模板/捆绑包中。
这可能吗?它是一个语言切换器,我考虑为它构建一个包,以便它可以直接交互以设置所有链接等的语言环境...
编辑:也许我需要将其设置为服务?
我的问题是;如何在没有任何路由的情况下将语言选择器放入基本模板?
答案 0 :(得分:0)
所以至少我想出了如何处理这个问题。也许它不是美,但现在它的工作,以便我可以检查出更好的解决方案
public function localize_route($locale = NULL) {
// Merge query parameters and route attributes
$attributes = array_merge($this->request->query->all(), $this->request->attributes->get('_route_params'));
// Set/override locale
$attributes['_locale'] = $locale ?: \Locale::getDefault();
return $this->router->generate($this->request->attributes->get('_route'), $attributes);
}
这里描述http://blog.viison.com/post/15619033835/symfony2-twig-extension-switch-locale-current-route
这样才有效