Shopware 6新增支付状态在批量编辑中不显示,如何配置使其可见?
解决Shopware 6批量编辑订单不显示自定义支付状态的问题
1. 给状态转换添加批量允许配置
批量编辑的状态选项只会加载标记为允许批量执行的状态转换,你需要在自定义插件的状态机配置里补充设置:
- 找到插件目录下
src/Resources/config/state_machine中的支付状态机配置文件(比如payment.state_machine.xml),为新增状态对应的转换节点添加<allow_bulk>true</allow_bulk>属性。
示例配置片段:<transition name="remind_second" from="open" to="reminded_second"> <actions> <action name="state_enter_payment_reminded_second" /> </actions> <allow_bulk>true</allow_bulk> </transition> <transition name="remind_third" from="reminded_second" to="reminded_third"> <actions> <action name="state_enter_payment_reminded_third" /> </actions> <allow_bulk>true</allow_bulk> </transition>
2. 清除缓存使配置生效
修改配置后必须清除Shopware缓存,否则新设置不会生效:
- 执行命令行指令:
bin/console cache:clear - 同时在后台手动刷新缓存(路径:设置 -> 系统 -> 缓存管理)
3. 检查后台用户角色权限
要确保当前操作的后台角色拥有自定义状态转换的权限:
- 进入后台
设置 -> 用户 -> 角色,找到对应的操作角色 - 在权限选项卡中,搜索并勾选自定义状态对应的权限项(通常命名为
order.state.change.payment.remind_second和order.state.change.payment.remind_third)
4. 确认批量订单的当前状态匹配
批量编辑时,只有当转换的from状态与选中订单的当前状态一致,该转换选项才会显示。比如你选中的订单都是open状态,那只有from="open"的转换才会出现在批量编辑的选项列表中,需要保证状态对应关系正确。
内容的提问来源于stack exchange,提问作者mastercheef85
相关产品推荐
相关产品推荐

