使用 FOSUser bundle编辑其他用户配置文件



我正在使用Symfony和FOSUser Bundle,我正在学习。我遇到了一个问题,我需要能够显示和编辑使用 FOSUser 捆绑包注册的所有用户。我可以显示每个用户的列表,但是当我尝试使用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 %}

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

看起来您想在站点上实现管理后端以编辑各种实体。有 2 个第三方捆绑包可以帮助您实现它:

  1. 易管理捆绑包
  2. SonataAdminBundle

这两个捆绑包都提供与FosUserBundle 的集成。就我个人而言,我认为EasyAdminBundle更容易使用,更容易被Symfony初学者所吸引,并且SonataAdminBundle提供了更多的功能。

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

最新更新