Symfony 4 FOSUserBundle自定义路由-添加前缀和子页面

时间:2018-11-21 04:39:49

标签: php symfony fosuserbundle

使用Symfony 4和FOSUserBundle构建应用。

(用户的个人资料用户界面是一组标签。)

我想为配置文件中的每个选项卡创建一个子路由,因此每个选项卡都在其自己的页面/路由上。

例如myapp.com/profile/仪表板

例如myapp.com/profile/bookings

执行此操作的基本步骤是什么?

PS如果我想删除路线的“ / profile”部分,该怎么办:

例如myapp.com/dashboard

或使用动态帐户,例如用户帐号“ / 11123”

例如myapp.com/11123/dashboard

1 个答案:

答案 0 :(得分:2)

没有特殊步骤。您只需在config/routes/fos_user.yaml注释其定义即可完全忽略FOS路由:

#fos_user:
#    resource: "@FOSUserBundle/Resources/config/routing/all.xml"

您还可以忽略某些部分(注释掉)并使用FOS路线的其他部分:

#fos_user_profile:
#    resource: "@FOSUserBundle/Resources/config/routing/profile.xml"

fos_user_register:
    resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
    prefix: /security

fos_user_login:
    resource: "@FOSUserBundle/Resources/config/routing/security.xml"
    prefix: /security

然后将自己的路线放入config/routes/annotations.yaml中:

/myapp.com/profile/dashboard/
/myapp.com/profile/bookings/

并根据需要进行处理。如果您需要覆盖FOS控制器,请检查以下内容:

Overriding Default FOSUserBundle Controllers