Ich mache eine Webanwendung mit symfony3 und ich brauche eine Möglichkeit, die Benutzer zu bearbeiten und ihr Profil zu aktualisieren. Ich habe FosUserBundle verwendet, um den Zugriff der Benutzer zu verwalten, aber ich weiß nicht, welche Schritte ich ergreifen muss, um mein Problem zu lösen. Hat jemand Ideen oder nützliche Links zum Teilen? dankeBenutzerprofil aktualisieren symfony3 using fosuserbundle
-5
A
Antwort
-1
Ich löste das Problem. Ja, es ist meine erste Frage zu Stackoverflow und ich lerne.
hier ist mein Code:
dogController.php
/**
* @Route("/profile/edit", name= "edit_profile" )
*/
public function edit_profileAction(Request $request)
{
$user = $this->getUser();
$form = $this->createForm(UserType::class, $user);
$form->handleRequest($request);
if ($form->isValid()) {
/** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
$userManager = $this->get('fos_user.user_manager');
$event = new FormEvent($form, $request);
$dispatcher = $this->get('event_dispatcher');
$dispatcher->dispatch(FOSUserEvents::PROFILE_EDIT_SUCCESS, $event);
$userManager->updateUser($user);
if (null === $response = $event->getResponse()) {
//$url = $this->generateUrl('fos_user_profile_show');
$url = $this->generateUrl('edit_profile');
$response = new RedirectResponse($url);
}
$dispatcher->dispatch(FOSUserEvents::PROFILE_EDIT_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
$this->get('session')->getFlashBag()->add(
'notice',
'Profile Updated!'
);
return $response;
}
return $this->render('dog/edit_profile.html.twig',array('form'=>$form->createView()));
}
UserType.php
<?php
namespace AppBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Vich\UploaderBundle\Form\Type\VichImageType;
use Symfony\Component\HttpFoundation\File\File;
use Symfony\Component\Form\Extension\Core\Type\FileType;
class UserType extends AbstractType{
public function buildForm(FormBuilderInterface $builder, array $options){
$builder->add('username')
->add('name')
->add('surname')
->add('email')
->add('telephone')
->add('imageFile', FileType::Class);
}
public function setDefaultOptions(OptionsResolverInterface $resolver){
$resolver->setDefaults(array('data_class' => 'AppBundle\Entity\User'));
}
public function getName() {
return 'appBundle_user';
}`enter code here`
}
edit_profile.html.twig
<header>
<div class="container">
<div class="row">
<div class="col-lg-12">
<h2 class="name">Edit Profile</h2>
<div class="row" >
<div class="col-lg-12">
<div class="input_width" >
{% for flashMessage in app.session.flashbag.get('notice') %}
<div class="alert alert-success alert">
{{ flashMessage }}
</div>
{% endfor %}
{{form_start(form, {'attr': {'class': 'form-horizontal'}})}}
{{ form_errors(form) }}
<div class="form-group">
{{ form_label(form.username) }}
{{ form_errors(form.username) }}
{{ form_widget(form.username , {'attr': {'class': 'form-control'}}) }}
</div>
<div class="form-group">
{{ form_label(form.email) }}
{{ form_errors(form.email) }}
{{ form_widget(form.email , {'attr': {'class': 'form-control'}}) }}
</div>
<div class="form-group">
{{ form_label(form.name) }}
{{ form_errors(form.name) }}
{{ form_widget(form.name , {'attr': {'class': 'form-control'}}) }}
</div>
<div class="form-group">
{{ form_label(form.surname) }}
{{ form_errors(form.surname) }}
{{ form_widget(form.surname, {'attr': {'class': 'form-control'}}) }}
</div>
<div class="form-group">
{{ form_label(form.telephone) }}
{{ form_errors(form.telephone) }}
{{ form_widget(form.telephone, {'attr': {'class': 'form-control'}}) }}
</div>
<div class="form-group">
{{ form_label(form.imageFile) }}
{{ form_errors(form.imageFile) }}
{{ form_widget(form.imageFile) }}
</div>
<input type="submit" value="Submit" class="btn btn-default bluInput " />
{{form_end(form)}}
</div>
</div>
</div>
</div>
</div>
</div>
</header>
Grundsätzlich ich schaffen musste Formulartypenklasse mit meinem Ent verbunden Dann verwenden Sie es in meinem Controller so lange wie der Benutzer-Manager des Fos-Benutzerpakets.
Verwandte Themen
- 1. Symfony3 - FOSUserBundle - Rollen Attribution
- 2. aktualisieren bestimmte Benutzer FOSuserbundle
- 3. Django, Benutzerprofil mit Passwortbestätigung aktualisieren
- 4. Symfony3 Using Bootstrap Set Form Label/Widget Widths
- 5. Django kann das Benutzerprofil nicht aktualisieren Bild
- 6. Symfony3 + FOSuserBundle: Datenbank ist bereits in sync + Anforderung Authentifizierung konnte nicht
- 7. symfony3 installation von asseticBundle
- 8. FosUserBunde Update-Benutzerprofil, ohne dass aktuelle Passwort
- 9. Aktualisieren Sie die E-Mail-Adresse im Meteor Benutzerprofil
- 10. Symfony3 Sie haben eine nicht existierende Dienst "Doktrin" angefordert. MongoDB FOSUserBundle
- 11. Symfony3 Sie haben einen nicht existierenden Dienst "validator.builder" angefordert, während FOSUserBundle hinzugefügt wurde
- 12. using 2 Tabellen mysql
- 13. Caching Benutzerprofil
- 14. Benutzerprofil deaktivieren?
- 15. Benutzerprofil anzeigen
- 16. FOSUserBundle - BadCredentialsException
- 17. access_control in Symfony3 funktioniert nicht
- 18. einen erweiterten Benutzerprofil erstellen
- 19. Aktualisieren von Canvas Shape mit Range Slider Using EaselJS
- 20. Wie übersetzt "Ungültige Anmeldeinformationen." Fehler in FOSUserBundle Symfony
- 21. Bereitstellen von Symfony3 App auf localhost
- 22. mit phpdocumentor mit Symfony3
- 23. als Parameter für Benutzerprofil
- 24. Benutzerprofil mit ransack suchen
- 25. Joomla 3.3.6 Benutzerprofil Formularvalidierung
- 26. Stack Exchange API & Benutzerprofil
- 27. Tabbed Navigation für Benutzerprofil
- 28. pandora website benutzerprofil system
- 29. Benutzerprofil Bilder hochladen - Richtlinien
- 30. Image Upload Sicherheit - Benutzerprofil
Schauen Sie sich einfach ihre [GitHub-Seite] an (https://github.com/FriendsOfSymfony/FOSUserBundle), dort finden Sie alles, was Sie brauchen. Tipp: Schau dir die Profilseite an. Allgemeiner Hinweis: Sie sind neu in StackOverflow, also schauen Sie sich bitte die Seite [How-to-ask] (http://stackoverflow.com/help/how-to-ask) an. Ihre Frage ist off-topic, weil es darum geht, ein Tool oder eine Seite eines Drittanbieters zu finden, sodass es höchstwahrscheinlich geschlossen wird. – KhorneHoly
Stellen Sie eine gute Frage, erhalten Sie eine gute Antwort. –
Wenn Sie Waschmaschine kaufen, fragen Sie, wie man es im Internet benutzt? Lesen Sie die Dokumentation zum Produkt. – malcolm