Трансакційна електронна пошта: як шаблону 'sales_email_order_items' (або як перекрити шаблон адміністратора)


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

Насправді це стосується макета XML-макета, яку ви можете знайти у 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>

На жаль, ви абсолютно праві. Дякую!
Прийму,

Без проблем, це може бути дещо заплутано :)
Sander Mangel

@SanderMangel Як я можу створити {{layout handle = "sales_email_order_items" order = $ order}}, крім замовчування, який я буду використовувати в шаблонах електронної пошти (окрім шаблону електронної пошти для підтвердження замовлення)
Mukesh,

Я не впевнений, що ви маєте на увазі, але ви можете зателефонувати на будь-яку ручку з 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...(на один замовчуванням менше, я думаю).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.