0

route のページを作成するために fos userbundle を使用しています/profile。他のユーザーのプロファイルも表示できるようにしたいので、独自のコントローラーを作成して/profile/{username}.

私が今抱えている問題は、 fos userbundle path を使用できない/profile/editことです。それはパスを示していますroute:debug

ルート /profile/edit を例外にする方法はありますか?

ここに私のコントローラーがあります:

/**
 * @Route("/profile/{username}")
 * @Template()
 * @Security("has_role('ROLE_USER')")
 */
public function showOtherAction($username){

    $em = $this->get('doctrine')->getManager();
    $user = $em->getRepository('DigitalArtLabBundle:User')->findOneByUsername($username);
    $sessions = $em->getRepository('DigitalArtLabBundle:checkin')->findLastSessions($user->getUsername() );

    return $this->render('FOSUserBundle:Profile:show.html.twig', array(
        'user' => $user,
        'ses' => $sessions
    ));

}

ありがとうございます:)

4

1 に答える 1

0

からルーティング構成を含めた後、そのルートのルーティング構成を貼り付ける必要がありますFOSUserBundle。そして、最初に一致したルート (からFOSUserBundle) が使用されます。

あなたのケースの例routing.yml:

fos_user:
    resource: "@FOSUserBundle/Resources/config/routing/all.xml"
app:
    resource: "@AppBundle/Controller/"
    type:     annotation

この場合、「edit」という名前のユーザー (およびその他の予約済みルート パス) を持つことはできません。

于 2015-11-30T13:20:38.980 に答える