ट्रांजेक्शनल ई-मेल: 'बिक्री_मैल_ऑर्डर_इटीम्स' को कैसे टेम्प्लेट करें (या एडमिनबुक को कैसे ओवरराइड करें)


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.xmlलाइन 268 के आसपास फाइल में पा सकते हैं ।

वहाँ आप निम्नलिखित टैग पा सकते हैं

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

उफ़, आप बिलकुल सही कह रहे हैं। धन्यवाद! जब संभव हो तो स्वीकार करेंगे :)
10:13

कोई बात नहीं, यह कुछ हद तक भ्रमित :) हो सकता है
Sander Mangel

@SanderMangel मैं कैसे {{लेआउट हैंडल = "सेल्स_मैल_ऑर्डर_इटीम्स" ऑर्डर = $ ऑर्डर}} डिफॉल्ट के अलावा बना सकता हूं, जिसे मैं ईमेल टेम्प्लेट (ऑर्डर कन्फर्मेशन ईमेल टेम्प्लेट के अलावा) में इस्तेमाल करूंगा
मुकेश

मुझे यकीन नहीं है कि आपका क्या मतलब है लेकिन आप अपने ईमेल टेम्पलेट से local.xml से किसी भी हैंडल को कॉल कर सकते हैं। आप एक नया अगर आप चाहते हैं बना सकते हैं तो
Sander 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...(एक डिफ़ॉल्ट कम, मुझे लगता है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.