1

我正在开始一个新的 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' %}

但是,这没有用。我的问题:登录表单存储在什么变量中?我知道我可以覆盖表单,但是我认为表单存储在不同的变量中很奇怪,所以我的第二个问题是:为什么表单存储在不同的变量中?

4

1 回答 1

3

几天前我在同一问题上运行。FOSUserBundle没有使用表单组件,所以它有普通的表单模板。这意味着您不能在此处使用表单主题。太糟了。:-(

于 2015-10-23T13:44:53.540 回答