Magento从订单电子邮件中删除SKU

时间:2012-10-22 18:59:41

标签: magento

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

1 个答案:

答案 0 :(得分:10)

这实际上是一个很好的问题。谢谢你问帕特里克。

由于带有订单商品的区块已插入模板,因此无法从管理界面执行此操作。如果您查看app/locale/en_US/template/email/sales/order_new.html,您将看到以下代码,这些代码将在渲染过程中替换为有序项目块:

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

正如您所见,块的句柄是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复制到主题中。只是那两个模板文件。

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