Shopware 6邮件交易状态存疑:交易排序与模板引用逻辑问询
Shopware 6邮件模板交易引用的最佳实践
核心结论
默认情况下,订单交易集合在邮件上下文里的排序与订单详情页等场景一致,均按createdAt升序排列(最早创建的交易排在首位)。当客户切换支付方式时,系统会新增一条交易记录而非修改原有条目,此时order.transactions.first会指向旧的支付信息,导致邮件显示错误。
解决方案
对于存在支付方式变更需求的业务场景,应将邮件模板中的交易引用从order.transactions.first替换为order.transactions.last,确保展示最新的支付方式与交易状态:
- 原引用:
order.transactions.first.paymentMethod.translated.name、order.transactions.first.stateMachineState.translated.name - 修改后:
order.transactions.last.paymentMethod.translated.name、order.transactions.last.stateMachineState.translated.name
额外说明
Shopware 6系统并未在邮件上下文单独修改交易排序逻辑,所有场景下的交易集合排序规则统一为按创建时间升序。官方默认模板使用first仅适配无支付方式变更的基础场景,需根据自身业务需求调整。
内容的提问来源于stack exchange,提问作者Robert Lang
相关产品推荐
相关产品推荐

