FOSUserBundle:覆盖Twig模板:添加HTML元素

occ*_*lti 1 symfony twig fosuserbundle

我正在使用FOSUserBundle,我想在注册表单中添加一些HTML元素.实际上,我做了,我可以在表单中看到User类的添加属性.问题是我想要那些字段(名字,姓氏,出生日期等)来获得我的CSS模板(bootstrap)的外观和感觉.我通过覆盖它成功地为登录页面执行了此操作,因为HTML是显式声明的.我想对注册页面做同样的事情,但它似乎对我很困惑,因为这里的内容是:

  • register.html.twig

    {%extends"FOSUserBundle :: layout.html.twig"%}

    {%block fos_user_content%} {%include"FOSUserBundle:Registration:register_content.html.twig"%} {%endblock fos_user_content%}

  • register_content.html.twig

    {%trans_default_domain'FOSUserBundle'%}

    {{form_widget(form)}}

如何从此代码访问我在页面中看到的元素?

Jeb*_*boy 8

试试这个

<div class="form-group {% if form.plainPassword.first.vars.errors %}has-error{% endif %}">
  <label class="col-lg-2 control-label">Password:</label>
  <div class="col-lg-5">
    {{ form_widget(form.plainPassword.first, {'attr': {'class': 'form-control input-lg', 'placeholder': 'Enter password', 'required': 'required'}}) }}
    {% for errorItem in form.plainPassword.first.vars.errors %}
      <label class="control-label has-error" for="{{ form.plainPassword.vars.id }}">{{ errorItem.message }}</label>
    {% endfor %}
  </div>
  <div class="col-lg-5">
    {{ form_widget(form.plainPassword.second, {'attr': {'class': 'form-control input-lg', 'placeholder': 'Enter password again', 'required': 'required'}}) }}
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这个对我有用.