You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Magento交易邮件中添加产品自定义属性barcode

在Magento交易邮件订单商品中显示自定义Barcode属性

问题背景

需要在交易邮件的SKU列后添加自定义属性barcode,涉及文件路径:public_html/app/design/frontend/base/default/template/email/order/items/order/default.phtml,当前相关代码片段如下:

<td align="left" valign="top" style="font-size:11px; padding:3px 9px; border-bottom:1px dotted #CCCCCC;"><?php echo $this->escapeHtml($this->getSku($_item)) ?></td>
<td align="left" valign="top" style="font-size:11px; padding:3px 9px; border-bottom:1px dotted #CCCCCC;">barcode echo goes here</td>
<td align="center" valign="top" style="font-size:11px; padding:3px 9px; border-bottom:1px dotted #CCCCCC;"><?php echo $_item->getQtyOrdered()*1 ?> x<!--</td>-->

解决方案

替换占位文本,通过产品模型读取barcode属性值,修改后的代码如下:

<td align="left" valign="top" style="font-size:11px; padding:3px 9px; border-bottom:1px dotted #CCCCCC;"><?php echo $this->escapeHtml($this->getSku($_item)) ?></td>
<td align="left" valign="top" style="font-size:11px; padding:3px 9px; border-bottom:1px dotted #CCCCCC;">
    <?php
    // 获取订单商品关联的产品对象
    $_product = $_item->getProduct();
    // 读取barcode属性值,为空时显示默认文本
    $barcode = $_product->getBarcode(); // 或 $_product->getData('barcode')
    echo $this->escapeHtml($barcode ?: '无条码');
    ?>
</td>
<td align="center" valign="top" style="font-size:11px; padding:3px 9px; border-bottom:1px dotted #CCCCCC;"><?php echo $_item->getQtyOrdered()*1 ?> x<!--</td>-->

关键说明

  1. 订单商品对象$_item本身不存储产品自定义属性,需通过getProduct()关联到产品模型读取
  2. getBarcode()是属性对应的魔术方法,和getData('barcode')功能等价,可任选其一
  3. 添加空值判断避免空白显示,同时用escapeHtml()处理输出,防范XSS风险

内容的提问来源于stack exchange,提问作者user3891303

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 12:12:08