2017-06-27 20 views
0

symfony 3で使用可能なすべてのロケールを取得する際に問題が発生しました。 アイデアはカスタム言語スイッチャーを作成することです。Symfony 3すべての使用可能なロケールを取得

私が持っている

parameters: 
locale: en 
app.locales: en|fr|ru 

私はロケールやユーザーセッションのロケールに保存された要求を取得することができます。 しかし、最後にTwigでController of Serviceのすべてのparameters.app.localesを取得できますか?私はen | fr | ruのようにar配列を持つことができるように。

ありがとうございました。まず

答えて

0

、あなたのテンプレートは、このような方法でレンダリング:

return $this->render('template.html.twig', array(
     .... 
     'locale' => $this->get('translator')->getLocale(), 
    )); 

そして、あなたのテンプレートでループするための簡単な操作を行います。で、あなたの言語で簡単なスイッチャーを得るでしょう

{% for lang in locale %} 

    <a href="{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge({'_locale': lang})) }}">{{ lang|trans }}</a> 

{% endfor %} 

それ。 また、リスナーが必要です。そのためにDocumentationを確認してください。

関連する問題