2017-10-18 145 views
1

我正在使用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 %} 

請我需要一些幫助,我該怎麼辦編輯的所有用戶? 。親切的問候:)

回答

0

FosUserBundle旨在提供註冊/身份驗證和配置文件功能,而不是管理員。

看起來你想要在你的網站上實現管理後臺來編輯各種實體。有2個第三方軟件包,它可以幫助你實現它:

  1. EasyAdminBundle
  2. SonataAdminBundle

兩個軟件包提供了與FosUserBundle集成。我個人認爲EasyAdminBundle更容易使用,更吸引Symfony初學者,並且提供更多功能。

看看索納塔演示應用程序:https://demo.sonata-project.org/(點擊admin菜單項演示應用程序加載完畢才能到管理部分)

+0

您好@VadimAshikhman的感謝!但事情是,我只需要編輯功能,有沒有這些AdminBundles的解決方案? –

+0

當然,創建自定義編輯頁面,在其中實現窗體和持久性邏輯。您可以在Symfony文檔中閱讀更多關於表單創建和實體peraistence的信息 –

相關問題