我正在开始一个新的 Symfony 项目,并且正在使用 FosUserBundle。我的登录和注册页面正常工作,但我的引导表单主题无法在登录页面上工作。注意:它确实适用于寄存器表单,因为表单的变量实际上命名为表单。
这是我的模板:
{% 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,因此保存表单的变量称为form。我认为 {% form_theme form %} 起作用了,所以我查看了登录页面:
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' %}
但是,这没有用。我的问题:登录表单存储在什么变量中?我知道我可以覆盖表单,但是我认为表单存储在不同的变量中很奇怪,所以我的第二个问题是:为什么表单存储在不同的变量中?