当您访问/ profile路径时,它会转到默认的个人资料页面。
我进行了更改,因此当您访问个人资料时,您需要在网址中添加ID以访问正确的网页。
但是,/ profile仍会转到默认页面,如何禁用此路由或将其转到自定义路径?
提前致谢。
答案 0 :(得分:1)
如果查看public class TrackerFind : IFindSagas<SagaData>.Using<ITrackerData>
{
public Task<SagaData> FindBy(ITrackerData message, SynchronizedStorageSession session, ReadOnlyContextBag context)
{
return session.GetSagaData<SagaData>(
context: context,
whereClause: "JSON_VALUE(Data,'$.PaymentTransactionId') = @propertyValue",
appendParameters: (builder, append) =>
{
var parameter = builder();
parameter.ParameterName = "propertyValue";
parameter.Value = message.TrackerID;
append(parameter);
});
}
}
,您将看到以下路线。您可以在自己的路由
@FOSUserBundle/Resources/config/routing/profile.xml
在你自己的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>
请注意,您很可能不再使用默认的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 }
,而是让您自己的ProfileController
扩展FOSUserBundle ProfileController
。这就是我将控制器更改为ProfileController
的原因,但显然这需要与您的代码匹配。
另请注意,AppBundle:Profile:edit
需要在您的代码中实现,例如:
{id}
另请参阅此处以获取更详细的答案(针对其他路线):How to customize FOS UserBundle URLs