İşlemsel e-posta: 'sales_email_order_items' nasıl şablonlanır (veya adminhtml şablonunun nasıl geçersiz kılınacağı)


15

İşlemsel e-posta kodunda şunu görüyorum:

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

Hangi, inanıyorum, bu şablon dosyasını ifade eder:

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

Temel dosyaların üzerine yazılmasını önlemek için temamızla yeni bir klasör oluşturmayı denedim:

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

Ancak bu işe yaramıyor gibi görünüyor, sadece çekirdeğin üzerine yazmadan bu dosyayı geçersiz kılmanın uygun bir yolu var mı?

Yanıtlar:


20

Aslında, sales.xml268 satırının çevresindeki dosyada bulabileceğiniz bir Layout XML tanıtıcısına karşılık gelir .

Orada aşağıdaki etiketleri bulabilirsiniz

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

Bunu kendi temalarınıza kopyalayabilir local.xmlve ihtiyacınız olanı düzenleyebilirsiniz. Sizin durumunuzda şablon dosyasını şu şekilde sıfırlarsınız: -

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

Hata! Tamamen haklısın. Teşekkür ederim! Mümkün olduğunda kabul edecek :)
waffl

Sorun değil, biraz kafa karıştırıcı olabilir :)
Sander Mangel

@SanderMangel E-posta şablonlarında (sipariş onayı e-posta şablonu dışında) kullanacağım varsayılandan başka {{layout handle = "sales_email_order_items" order = $ order}} nasıl oluşturabilirim
Mukesh

Ne demek istediğinizden emin değilim ancak e-posta şablonunuzdan local.xml dosyasındaki herhangi bir tanıtıcıyı arayabilirsiniz. İsterseniz yeni bir tane oluşturabilirsiniz
Sander Mangel

6

Hangi şablonun "sales_email_order_items" ifadesine baktığını görebilirsiniz

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 app/design/frontend/base/default/layout/sales.xmlörneğin göreceksiniz:

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

Burada yolu bulabilirsiniz: template="email/order/items.phtml"

Dizin /app/design/our_theme/default/default/template/email/order/items.phtmlyapınız yanlış görünüyor, özellikle kısmı /app/design/our_theme/default/default/template...- olması gerekir /app/design/our_theme/default/template...(bir varsayılan daha az, sanırım).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.