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

问题描述 投票:0回答:1

我正在寻找一种解决方案,如何将捆绑包实现到我的基本模板中,以便它在我的项目的每个页面上都可见,而无需将其包含到每个模板/捆绑包中。

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

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

我的问题是;如何在没有任何路径的情况下将语言选择器添加到基本模板中?

php symfony layout include bundle
1个回答
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

这样才有效

© www.soinside.com 2019 - 2024. All rights reserved.