使用FOSUser Bundle编辑另一个用户配置文件

使用FOSUser Bundle编辑另一个用户配置文件

问题描述:

我正在使用symfony和FOSUser Bundle,我在学习,遇到问题,我需要能够显示和编辑使用FOSUser Bundle注册的所有用户。我可以显示每个用户的列表,但是当我尝试使用fos_user_profile_edit编辑它们时,我只能编辑我的帐户,没有其他用户。这里是我的控制器代码:使用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)); 
} 

}

在我看来,我只是叫他们:

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

请我需要一些帮助,我该怎么办编辑的所有用户? 。亲切的问候:)

FosUserBundle旨在提供注册/身份验证和配置文件功能,而不是管理员。

看起来你想要在你的网站上实现管理后台来编辑各种实体。有2个第三方软件包,它可以帮助你实现它:

  1. EasyAdminBundle
  2. SonataAdminBundle

两个软件包提供了与FosUserBundle集成。我个人认为EasyAdminBundle更容易使用,更吸引Symfony初学者,并且提供更多功能。

看看索纳塔演示应用程序:https://demo.sonata-project.org/(点击admin菜单项演示应用程序加载完毕才能到管理部分)

+0

您好@VadimAshikhman的感谢!但事情是,我只需要编辑功能,有没有这些AdminBundles的解决方案? –

+0

当然,创建自定义编辑页面,在其中实现窗体和持久性逻辑。您可以在Symfony文档中阅读更多关于表单创建和实体peraistence的信息 –