SyliusResourceBundle重定向时路由参数parentCode缺失怎么解决?
解决方案
你需要将原本标量形式的redirect配置修改为数组格式,显式指定重定向路由和所需参数即可,参数解析规则和你现有vars下的路由参数规则完全一致。
修改后的完整路由配置如下:
app.admin.parent_version: resource: | alias: app.parent_version path: "admin/parents/{parentCode}/versions" section: admin templates: "@SyliusAdmin\\Crud" except: ['show'] # 替换原标量redirect为数组配置 redirect: route: update # 保留你原本设定的跳转目标路由 parameters: parentCode: $parentCode # 从当前请求的路由参数中提取父级编码 id: resource.id # 从当前操作的版本资源实例中提取ID grid: app.admin.parent_version permission: true vars: route: parameters: parentCode: $parentCode all: templates: form: "/Admin/ParentVersion/_form.html.twig" breadcrumb: "/Admin/ParentVersion/_breadcrumb.html.twig" index: parameters: parentCode: $parentCode create: route: parameters: parentCode: $parentCode update: route: parameters: parentCode: $parentCode id: resource.id type: sylius.resource
如果删除操作后不需要跳转到编辑页,而是要返回版本列表页,可以将全局redirect的route改为index,此时参数只需要保留parentCode: $parentCode即可。配置生效后,系统生成重定向URL时会自动填充parentCode参数,不会再抛出缺少必填参数的错误。
内容的提问来源于stack exchange,提问作者pguetschow
相关产品推荐
相关产品推荐

