Magento 从订单邮件中删除 SKU

标签 magento

在我的新订单电子邮件中,我有产品的 SKU,但我想从订单电子邮件中删除它。我该怎么做?

最佳答案

这其实是个好问题。感谢您询问 Patrik。

此操作无法从管理界面完成,因为带有订单项的 block 已插入到模板中。如果您查看 app/locale/en_US/template/email/sales/order_new.html,您将看到以下代码,该代码将在呈现期间替换为订购的项目 block :

{{layout handle="sales_email_order_items" order=$order}}

如您所见,该 block 的句柄是 sales_email_order_items,它的声明可以在 app/design/frontend/base/default/layout/sales.xml 中找到.在这里:

<sales_email_order_items>
    <block type="sales/order_email_items" name="items" template="email/order/items.phtml">
        <action method="addItemRender"><type>default</type><block>sales/order_email_items_order_default</block><template>email/order/items/order/default.phtml</template></action>
        <action method="addItemRender"><type>grouped</type><block>sales/order_email_items_order_grouped</block><template>email/order/items/order/default.phtml</template></action>
        <block type="sales/order_totals" name="order_totals" template="sales/order/totals.phtml">
            <action method="setLabelProperties"><value>colspan="3" align="right" style="padding:3px 9px"</value></action>
            <action method="setValueProperties"><value>align="right" style="padding:3px 9px"</value></action>
            <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml">
                <action method="setIsPlaneMode"><value>1</value></action>
            </block>
        </block>
    </block>
    <block type="core/text_list" name="additional.product.info" />
</sales_email_order_items>

在这里你会看到两个模板 /design/frontend/base/default/template/sales/order/items.phtmlapp/design/frontend/base/default/template/sales/order/items/renderer/default.phtml。将它们复制到您的主题中并进行修改。

第一个保留表的标题和项目。您必须删除第 37 行:

<th><?php echo $this->__('SKU') ?></th>

第二个呈现表格主体的行。在那里你必须删除第 64 行:

<td><?php echo $this->htmlEscape(Mage::helper('core/string')->splitInjection($this->getSku())) ?></td>

您不需要将布局 xml 复制到您的主题中。就是那 2 个模板文件。

不幸的是,它还会从客户帐户的订单 View 中删除 SKU 列,因为这些模板也在那里使用。因此,如果您只想从电子邮件中删除 SKU 列,则必须在主题的 local.xml 文件中创建一个与 sales.xml 中相同的新句柄。然后,您必须在 Magento 管理员处创建电子邮件模板的自定义副本,并将您的新句柄放入 {{layout}} 短代码中。当然,这两个模板也需要使用不同的名称进行复制。

关于Magento 从订单邮件中删除 SKU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13017942/

相关文章:

php - 如何获取 Magento 的付款信息?

php - 在 magento 中单独的帐单/送货地址?

magento - 本地暂存 magento 站点重定向到实时站点

尝试启用“系统”>“工具”>“编译”后出现 Magento 错误

php - Magento 上无法连接到本地 MySQL 服务器错误

magento - 如何从产品中获取直接父类别

php - magento 显示错误 :500 Internal server Error

magento - magento 中索引如何工作?

php - 如何在 Magento 列表产品页面上获取属性值的 ID 号?

php - 带有产品缩略图的导航菜单 Magento