Как создать язык выберите в шаблоне ветки - PullRequest
0 голосов
/ 06 сентября 2018

Я сейчас использую symfony 3.2. и теперь у меня есть такая ссылка: http://link.com? Lang = ru и в конфигурации / параметрах я позволил_locales -en, -ru

Как я могу создать переключатель языка в шаблоне ветки, как это:

  <a href="#" class="locales">EN<img src="{{ asset('assets/images/arrow-down.svg') }}" alt="arrow" class="arrow-down" /></a>
                                <div class="locales-content" style="left:0;">
                                    <a href="#">Russian</a>
                                    <a href="#">English</a>
                                </div>

1 Ответ

0 голосов
/ 10 сентября 2018

Вот что я сделал в своем приложении, не стесняйтесь адаптировать его к вашим потребностям. Он создает раскрывающийся список с двумя ссылками, которые перенаправляют на одну и ту же страницу, но изменяют параметр _locale. Если в запросе нет маршрута, он создает две ссылки, которые перенаправляют на домашнюю страницу.

<li class="dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{% if app.request.locale == 'ru' %}Russian{% else %}English{% endif %} <span class="caret"></span></a>
    <ul class="dropdown-menu">

        {# Check if there is a route and some parameters in the request #}
        {% if app.request.get('_route') is not empty and app.request.get('_route_params') is not null %}

            {# English #}
            <a href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'en'})) }}">English</a>
            {# Russian #}
            <a href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'ru'})) }}">Russian</a>

        {# If there is no route in the request, redirect to the homepage #}
        {% else %}

            {# English #}
            <a href="{{ path('homepage', {'_locale': 'en'}) }}">English</a>
            {# Russian #}
            <a href="{{ path('homepage', {'_locale': 'ru'}) }}">Russian</a>

        {% endif %}
    </ul>
</li>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...