Symfony2语言切换器包默认包含在基本模板中

时间:2014-08-18 11:02:31

标签: symfony layout include bundle

我正在寻找一个解决方案,我可以将捆绑包实现到我的基本模板中,以便它可以在我的项目的每个页面上显示,而不会将其包含在每个模板/捆绑包中。

这可能吗?它是一个语言切换器,我考虑为它构建一个包,以便它可以直接交互以设置所有链接等的语言环境...

编辑:也许我需要将其设置为服务?

我的问题是;如何在没有任何路由的情况下将语言选择器放入基本模板?

1 个答案:

答案 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

这样才有效