交易电子邮件:如何为“ sales_email_order_items”建立模板(或如何覆盖adminhtml模板)


15

在交易电子邮件代码中,我看到以下内容:

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

我相信这是指此模板文件:

/app/design/adminhtml/default/default/template/email/order/items.phtml

我尝试用我们的主题创建一个新文件夹,以避免覆盖核心文件:

/app/design/our_theme/default/default/template/email/order/items.phtml

但这似乎不起作用,是否有适当的方法来覆盖此文件而不简单地覆盖内核?

Answers:


20

实际上,它指的是您可以在第sales.xml268行附近的文件中找到的Layout 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>

您可以将其复制到您自己的主题,local.xml然后根据需要进行编辑。在您的情况下,它将像这样重置模板文件:-

<sales_email_order_items>
    <reference name="items">
        <action method="setTemplate">
            <template>yourdirectory/order/items.phtml</template>
        </action>
    </reference>
</sales_email_order_items>

糟糕,您完全正确。谢谢!可能的话会接受:)
waffl 2013年

没问题,这可能有点令人困惑:)
桑德·曼格尔

@SanderMangel如何创建除默认以外的{{layout handle =“ sales_email_order_items” order = $ order}},我将在电子邮件模板中使用该模板(订单确认电子邮件模板除外)
Mukesh 2014年

我不确定您的意思,但是可以从电子邮件模板的local.xml中调用任何句柄。所以,你可以创建,如果你想要一个新的
桑德甜菜

6

您可以查看“ sales_email_order_items”指的是哪个模板

app/design/frontend/base/default/layout/sales.xml
app/design/frontend/base/default/layout/bundle.xml
app/design/frontend/base/default/layout/downloadable.xml

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>

在这里您可以找到路径: template="email/order/items.phtml"

您的目录结构/app/design/our_theme/default/default/template/email/order/items.phtml似乎有问题,尤其是部分/app/design/our_theme/default/default/template...-应该是这样/app/design/our_theme/default/template...(我想默认少了一个)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.