2017-06-27 4 views
0

Probleme beim Abrufen aller verfügbaren Sprachumgebungen in Symfony 3. Die Idee ist, einen benutzerdefinierten Sprachumschalter zu erstellen.Symfony 3 erhalten alle verfügbaren Gebietsschemas

Ich habe

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

I locale oder Benutzer erhalten kann in der Sitzung locale gespeichert angefordert. Aber wie kann ich alle Parameter.app.locales im Service Controller endlich in Twig bekommen? Also kann ich ar array wie en | fr | ru und so weiter haben.

Danke.

Antwort

0

Erstens Vorlage machen eine solche Art und Weise:

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

Und dann in der Vorlage für Schleife eine einfache tun:

{% 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 %} 

Sie werden einen einfachen Schalter mit Sprachen erhalten in es. Aber Sie brauchen auch einen Listener dafür. Überprüfen Sie die Documentation dafür.

Verwandte Themen