2015-08-14 3 views
1

Я начинаю новый проект Symfony, и я использую FosUserBundle. У меня есть моя страница входа и регистрации, но я не могу получить мою тему формы загрузки, работающую на странице входа. Примечание: он работает для формы регистра, потому что переменная формы на самом деле называется формой.Форма FosUserBundle с темой bootstrap

Это мой шаблон:

{% extends '@Frontend/Layout/home.html.twig' %} 
{% form_theme form 'bootstrap_3_layout.html.twig' %} 

{% block title %}Login{% endblock %} 

{% block content %} 
    {% block fos_user_content %}{% endblock %} 
{% endblock %} 

Я перекрывая оригинальный шаблон FosUserBundle, используя дочерний пакет. Опять же, это работает для формы регистра, но не для формы входа. Когда я иду на страницу регистров и я смотрю на источник я нахожу это:

<label class="control-label required" for="fos_user_registration_form_username">form.username</label> 

Как вы можете видеть, метка называется form.username, так что переменная, которая держит форму, называется формой. Я полагал, что это whny {% form_theme форма%} работала, поэтому я смотрел на страницу входа в систему:

Variable "form" does not exist in FOSUserBundle::layout.html.twig at line 2 

Это было странно для меня, так что я снял форму тему и посмотрел на страницу входа в систему:

<label for="username">security.login.username</label> 

Итак, я подумал: форма называется безопасности, так что давайте делать это:

{% form_theme security 'bootstrap_3_layout.html.twig' %} 

Но это не сработало. Мой вопрос: какая переменная хранится в форме входа? Я знаю, что могу переопределить форму, но мне кажется странным, что формы хранятся в разных переменных, поэтому мой второй вопрос: почему формы хранятся в разных переменных?

ответ

3

Я работал в той же проблеме несколько дней назад. FOSUserBundle не использует компонент формы, поэтому он имеет простые формы шаблонов. Это означает, что вы не можете использовать Form Theme здесь. Очень плохо. :-(

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