2017-10-18 2 views
1

Ich arbeite mit Symfony und FOSUser Bundle, und ich lerne, ich habe ein Problem, ich muss in der Lage sein, alle Benutzer anzeigen und bearbeiten mit FOSUser Bundle registriert. Ich kann die Liste aller Benutzer anzeigen, aber wenn ich versuchte, sie mit fos_user_profile_edit zu bearbeiten, konnte ich nur mein Konto und den Rest der Benutzer bearbeiten. Hier ist mein Controller-Code:Bearbeiten eines anderen Benutzerprofils mit FOSUser Bundle

class DefaultController extends Controller 
{ 
    /** 
    * @Route("/", name="homeProfesionales") 
    */ 
    public function indexAction() 
    { 
     $userManager = $this->get('fos_user.user_manager'); 
     $users = $userManager->findUsers(); 

     return $this->render('GOCProfesionalesBundle:Default:index.html.twig', array('users' => $users)); 

} 

/** 
* @Route("/show", name="showProfesionales") 
*/ 
public function showAction($id) 
{ 

    $em = $this->getDoctrine()->getManager(); 

    $entity = $em->getRepository('FOSUserBundle:User')->find($id); 

    return $this->render('GOCProfesionalesBundle:Default:index.html.twig', array('entity'=> $entity)); 
} 

/** 
* @Route("/edit", name="editProfesionales") 
*/ 
public function editAction($user) 
{ 
    $userManager = $this->get('fos_user.user_manager'); 
    $user = $userManager->findUsers(); 

    return $this->render('GOCProfesionalesBundle:Default:index.html.twig', array('users' => $users)); 
} 

}

und meiner Meinung nach ich sie einfach anrufen:

{% for user in users %} 
    {{ user.username}} 
    {{ user.email }} 
{% endfor %} 

Bitte Ich brauche Hilfe, wie kann ich tun, um alle Benutzer zu bearbeiten? . Mit freundlichen Grüßen :)

Antwort

0

FosUserBundle vorgesehen für die Registrierung/Authentifizierung und Profilfunktionalität, nicht Admin.

Sie möchten das Verwaltungs-Back-End auf Ihrer Site implementieren, um verschiedene Entitäten zu bearbeiten. Es gibt zwei Drittbündel, die Sie umsetzen können helfen:

  1. EasyAdminBundle
  2. SonataAdminBundle

Beide Pakete bieten die Integration mit FosUserBundle. Persönlich denke ich, EasyAdminBundle ist einfacher zu bedienen und mehr Symfony Einsteiger angezogen, und bietet mehr Funktionalität.

Werfen Sie einen Blick auf die Demo-Anwendung Sonata: https://demo.sonata-project.org/ (Klicken Sie auf admin Menüpunkte auf Admin-Bereich zu erhalten, nachdem Demo-Anwendung geladen wird)

+0

Hallo @VadimAshikhman Dank! aber die Sache ist, dass ich nur die Funktion zum Bearbeiten brauche, gibt es irgendeine Lösung ohne diese AdminBundles? –

+0

Sicher, erstellen Sie benutzerdefinierte Bearbeitungsseite, wo Sie Form und Persistenz Logik implementieren. In der Symfony-Dokumentation können Sie mehr über die Formularerstellung und die Entitätsdauer erfahren –

Verwandte Themen