2017-07-07 4 views
1

/profileパスにアクセスすると、デフォルトのプロファイルページに移動します。FosUserBundle:カスタムパスへのデフォルト/プロファイルパスをオーバーライドする方法は?

私はあなたが正しいページを訪問するためにURLにIDを追加する必要がありますプロファイルを訪問するときに変更しました。

ただし、/ profileはデフォルトのページに移動しますが、このルートを無効にする方法やカスタムパスに移動する方法はありますか?

ありがとうございます。

答えて

1

@FOSUserBundle/Resources/config/routing/profile.xmlを見ると、次の手順が表示されます。ほとんどのこと

fos_user_profile_show: 
    path: /profile/{id} 
    defaults: { _controller: AppBundle:Profile:show } 

fos_user_profile_edit: 
    path: /profile/edit/{id} 
    defaults: { _controller: AppBundle:Profile:edit } 

注:あなたは、単にこのように上書きしたいあなた自身のrouting.ymlで

<route id="fos_user_profile_show" path="/" methods="GET"> 
    <default key="_controller">FOSUserBundle:Profile:show</default> 
</route> 

<route id="fos_user_profile_edit" path="/edit" methods="GET POST"> 
    <default key="_controller">FOSUserBundle:Profile:edit</default> 
</route> 

をルーティング独自に同じ名前を使用して、任意のルーティング(またはその他の設定)を上書きすることができますおそらくデフォルトのProfileControllerを使用していない可能性がありますが、FOSUserBundleを拡張する独自のProfileControllerがある可能性がありますProfileControllerだから私もコントローラーをAppBundle:Profile:editに変更しましたが、明らかにこれはあなたのコードと一致する必要があります。 How to customize FOS UserBundle URLs

もまた(別のルートのために)より詳細な回答はこちらをご覧{id}あなたのコードで実装する必要があり、例:

public function showAction(Request $request, $id) 

の点に注意してください。

関連する問題