Transaktions-E-Mail: Vorlage 'sales_email_order_items' erstellen (oder Vorlage adminhtml überschreiben)

15

Im Transaktions-E-Mail-Code sehe ich Folgendes:

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

Was sich meiner Meinung nach auf diese Vorlagendatei bezieht:

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

Ich habe versucht, einen neuen Ordner mit unserem Thema zu erstellen, um das Überschreiben von Kerndateien zu vermeiden:

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

Aber das scheint nicht zu funktionieren. Gibt es eine Möglichkeit, diese Datei zu überschreiben, ohne einfach den Kern zu überschreiben?

Waffel
quelle

Antworten:

20

Tatsächlich bezieht es sich auf ein Layout-XML-Handle, das Sie in der sales.xmlDatei um Zeile 268 finden.

Dort finden Sie folgende Tags

<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>

Sie können dies in Ihre eigenen Themen kopieren local.xmlund bearbeiten, was Sie benötigen. In Ihrem Fall würde die Vorlagendatei folgendermaßen zurückgesetzt:

<sales_email_order_items>
    <reference name="items">
        <action method="setTemplate">
            <template>yourdirectory/order/items.phtml</template>
        </action>
    </reference>
</sales_email_order_items>
Sander Mangel
quelle
Hoppla, du hast vollkommen recht. Vielen Dank! Will akzeptieren, wenn möglich :)
Waffel
Kein Problem, es kann etwas verwirrend sein :)
Sander Mangel
@SanderMangel Wie kann ich {{Layout handle = „sales_email_order_items“ order = $ um}} andere als Standard, die ich (andere als Bestätigung E - Mail - Vorlage Reihenfolge) in den E - Mail - Vorlagen verwenden werden
Mukesh
Ich bin nicht sicher, was Sie meinen, aber Sie können jedes Handle aus der local.xml aus Ihrer E-Mail-Vorlage aufrufen. Sie können also einen neuen erstellen, wenn Sie möchten
Sander Mangel
6

Sie können sehen, auf welche Vorlage sich "sales_email_order_items" bezieht, wenn Sie nachsehen

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

In werden Sie app/design/frontend/base/default/layout/sales.xmlzum Beispiel sehen:

<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>

Hier können Sie den Weg herausfinden: template="email/order/items.phtml"

Ihre Verzeichnisstruktur /app/design/our_theme/default/default/template/email/order/items.phtmlscheint falsch zu sein, insbesondere der Teil /app/design/our_theme/default/default/template...- es sollte sein /app/design/our_theme/default/template...(eine Standardeinstellung weniger, denke ich).

Anna Völkl
quelle