2017-10-18 7 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のドキュメントを参照してください。 –

関連する問題