简体   繁体   中英

FOSUserBundle edit EDITPAGE PROFILE

This is my code :

<form action="{{ path('fos_user_profile_edit') }}" {{ form_enctype(form) }} method="POST" class="fos_user_profile_edit">            
    <div class="edittext_registre1">{{ form_label(form.username) }}</div>
    <div class="editbox_registre1">{{ form_widget(form.username) }}</div>
    <br/><br/>
    <div class="edittext_registre2">{{ form_label(form.email) }}</div>
    <div class="editbox_registre2">{{ form_widget(form.email) }}</div>
    <br/><br/>
    <div class="edittext_registre3">{{ form_label(form.current_password) }}</div>
    <div class="editbox_registre3">{{ form_widget(form.current_password) }}</div>
    <br/><br/>
    <div>
        <input type="submit" value="{{ 'profile.edit.submit'| trans }}" />
    </div>
</form>

When I click submit button, my profil have no change :(

but when I change my code by this code:

<form action="{{ path('fos_user_profile_edit') }}" {{ form_enctype(form) }} method="POST" class="fos_user_profile_edit">


    {% include "FOSUserBundle:Profile:edit_content.html.twig" %}

    <div>
        <input type="submit" value="{{ 'profile.edit.submit'| trans }}" />
    </div>
</form>

Why ? What should I do?

Thank you so much.

Have you referred to http://symfony.com/doc/current/form/form_customization.html ? Havent worked with symfony for a while now, but as far as i remember, the following is the proper way to go. Can you please check if it works?

{{ form_start(form, { 'action': path('fos_user_profile_edit'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
  <div class="edittext_registre1">
    {{ form_label(form.username) }}
  </div>
  <div class="editbox_registre1">
    {{ form_errors(form.username) }}
    {{ form_widget(form.username) }}
  </div>
  <br/>
  <br/>
  <div class="edittext_registre2">
    {{ form_label(form.email) }}
  </div>
  <div class="editbox_registre2">
    {{ form_errors(form.email) }}
    {{ form_widget(form.email) }}
  </div>
  <br/>
  <br/>
  <div class="edittext_registre3">
    {{ form_label(form.current_password) }}
  </div>
  <div class="editbox_registre3">
    {{ form_errors(form.current_password) }}
    {{ form_widget(form.current_password) }}
  </div>
  <br/>
  <br/>
  {{ form_rest(form) }}
  <div>
    <input type="submit" value="{{ 'profile.edit.submit'|trans }}" />
  </div>
{{ form_end(form) }}

Are there any errors rendered? (and does form_rest render any more fields? Maybe your original code had errors, because there were more required fields in fosuserbundle that were required but you were not including those fields in your form)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM