2016-03-06 3 views
2

В файле layout.html.twig;FOSUserBundle понимание переменных шаблона ветви

{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %} 
     {{ 'layout.logged_in_as'|trans({'%username%': app.user.username}, 'FOSUserBundle') }} | 
     <a href="{{ path('fos_user_security_logout') }}"> 
      {{ 'layout.logout'|trans({}, 'FOSUserBundle') }} 
     </a> 
    {% else %} 
     <a href="{{ path('fos_user_security_login') }}">{{ 'layout.login'|trans({}, 'FOSUserBundle') }}</a> 
    {% endif %} 

Какое значение принадлежит макету? Кажется, он выводит строку так, как она есть на моей странице html, то есть «layout.logged_in_as» и «layout.logout»

ответ

4

Это ключи переводов, как это обычно бывает в пакетах Symfony .

Вот the layout translation definitions that would be translated to English:

layout: 
    logout: 'Log out' 
    login: 'Log in' 
    register: Register 
    logged_in_as: 'Logged in as %username%' 
+0

Ах имеет смысл. Как настроить приложение для использования переводов? – Sid

+2

Переводчик Symfony обычно отключается по умолчанию в новых проектах (поскольку не все приложения нуждаются в переводе). Чтобы включить его, [просто добавьте ключ конфигурации «framework.translator», как указано в документах] (https://symfony.com/doc/master/bundles/FOSUserBundle/index.html#translations). –

Смежные вопросы