Magento 2.4.6 新增订单邮件模板添加‘unit price’(单价)栏位的代码实现求助
Magento 2.4.6 新增订单邮件模板添加‘unit price’(单价)栏位的代码实现求助
嗨,我来帮你搞定在Magento 2.4.6的新订单邮件里添加单价栏位的需求,下面是分步的代码实现和文件路径,你跟着操作就行:
1. 自定义主题覆盖订单邮件项目模板文件
Magento不建议直接修改核心文件,所以我们用自定义主题来覆盖模板:
- 目标文件路径:
app/design/frontend/[你的主题包名]/[主题名]/Magento_Sales/templates/email/items/order/default.phtml
如果这个文件不存在,先从核心模块复制一份到该路径:vendor/magento/module-sales/view/frontend/templates/email/items/order/default.phtml
添加单价表头
打开模板文件,找到表头的<tr>标签,在你想要的位置(比如“Qty”列之后)添加单价表头:
<th class="item-price"> <?= $block->escapeHtml(__('Unit Price')) ?> </th>
添加单价数据单元格
找到每个订单项目对应的<tr>区域,在对应位置添加单价单元格:
<td class="item-price"> <?= /* @noEscape */ $block->getItemPrice($item) ?> </td>
如果需要显示含税单价,可以替换成这段代码:
<td class="item-price"> <?= /* @noEscape */ $block->getItemPriceInclTax($item) ?> </td>
2. (可选)调整邮件样式确保对齐
如果表头和内容的排版不对,可以调整邮件样式文件,路径是:app/design/frontend/[你的主题包名]/[主题名]/Magento_Sales/web/css/email.css
添加以下样式来优化对齐:
.item-price { text-align: right; padding: 0 10px; width: 15%; }
3. 清除缓存并测试
修改完成后,执行以下命令清除Magento缓存,确保修改生效:
bin/magento cache:clean bin/magento cache:flush
之后生成一个新订单,检查邮件内容,就能看到新增的单价栏位啦!
注意:如果你的店铺用了第三方邮件扩展,可能需要调整对应扩展的模板文件,先确认订单邮件使用的是默认模板还是第三方模板哦~
备注:内容来源于stack exchange,提问作者Taib Tahir
相关产品推荐
相关产品推荐

