トランザクションメール:「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

しかし、これは機能していないようです。単にコアを上書きせずにこのファイルをオーバーライドする適切な方法はありますか?

回答:


20

実際には、sales.xml268行目付近のファイルで見つけることができるレイアウト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>

おっと、あなたはまったく正しい。ありがとうございました!可能な場合は受け入れます:)
ワッフル

問題ありませんが、多少混乱する可能性があります:)
サンダーマンジェル

@SanderMangelどのように私は(注文確認メールテンプレート以外の)電子メールテンプレートで使用されるデフォルト以外の{{レイアウトハンドル=「sales_email_order_items」オーダー= $順序を}}作成することができます
ムケシュ

意味がわかりませんが、電子メールテンプレートからlocal.xmlから任意のハンドルを呼び出すことができます。あなたがしたい場合は、新しいものを作成することができるように
サンダーMangel

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...(1つのデフォルトが少ないと思います)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.