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

时间:2017-10-18 16:09:36

标签: symfony fosuserbundle

我正在使用Symfony和FOSUser Bundle,我正在学习。我遇到了问题,我需要能够显示和编辑使用FOSUser Bundle注册的所有用户。我可以显示每个用户的列表,但是当我尝试使用fos_user_profile_edit编辑它们时,我只能编辑我的帐户,而不是其他用户。这是我的控制器代码:

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 %}

1 个答案:

答案 0 :(得分:0)

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

您希望在自己的网站上实施管理后端以编辑各种实体。有2个第三方软件包可以帮助您实现它:

  1. EasyAdminBundle
  2. SonataAdminBundle
  3. 两个捆绑包都提供与FosUserBundle的集成。就个人而言,我认为EasyAdminBundle更容易使用,更吸引Symfony初学者,SonataAdminBundle提供更多功能。

    查看Sonata演示应用程序:https://demo.sonata-project.org/(点击admin菜单项以在加载演示应用程序后进入管理部分)