2017-10-18 6 views
1

심포니와 FOSUser 번들로 작업하고 있습니다. 문제가 있습니다. FOSUser 번들을 사용하여 등록 된 모든 사용자를 표시하고 편집 할 수 있어야합니다. 모든 사용자의 목록을 표시 할 수 있지만 fos_user_profile_edit을 사용하여 편집하려고 시도 할 때 나머지 사용자는 내 계정 만 편집 할 수있었습니다. 여기 내 컨트롤러 코드는 다음과 같습니다FOSUser 번들을 사용하여 다른 사용자 프로필 편집

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

내가 도움이 필요하세요, 어떻게 모든 사용자를 편집 할 수 있습니까? . 친절 감사 :

답변

0

FosUserBundle 등록/인증 및 프로필 기능을 제공하기위한 것이지 관리자가 아닙니다.

다양한 엔티티를 편집하기 위해 사이트에 관리 백엔드를 구현하려는 것 같습니다.

  1. EasyAdminBundle
  2. SonataAdminBundle

두 번들 FosUserBundle과의 통합을 제공 : 2 타사 당신이 그것을 구현하는 데 도움이 번들이 있습니다. 개인적으로는 EasyAdminBundle이 사용하기 쉽고 심포니 초보자에게 더 매력적이라고 ​​생각합니다. 은 더 많은 기능을 제공합니다.

는 소나타 데모 애플리케이션에서보세요 : https://demo.sonata-project.org/ (admin 메뉴 항목을 클릭 데모 애플리케이션을로드 한 후 관리자 섹션에 도착)

+0

안녕하세요 @VadimAshikhman 덕분에! 하지만 그 기능을 편집하려면 함수가 필요하다는 것입니다. AdminBundles가없는 솔루션이 있습니까? –

+0

물론, 양식 및 지속성 로직을 구현하는 사용자 정의 편집 페이지를 만드십시오. Symfony 문서에서 폼 생성과 엔터티 퍼미션에 대해 더 많이 읽을 수 있습니다. –