Magento2 - переопределить сводку заказа шаблона в заказе электронной почты для продажи - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть шаблон, который использует следующую команду для отображения сводки заказа

{{layout handle = "sales_email_order_items" order = $ order area = "frontend"}}

он берет код из следующего шаблона

/ app / design / frontend / Corra / Mytheme / Magento_Sales / templates / email / items / order / default.phtml

Итак, я хочу переопределить этот файл моим файлом пользовательского модуля и использовать его.

Я создал модуль " Corra_Sales "

Я поставил.phtml здесь

/ app / code / Corra / Sales / view / frontend / templates / email / items / order / default.phtml

Также я создал макетс файлом:

/ app / code / Corra / Sales / view / frontend / layout / sales_email_order_renderers.xml

Код внутри файла:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd" label="Email Creditmemo Items List" design_abstraction="custom">
    <body>
        <referenceBlock name="sales.email.order.renderers">
            <block class="Magento\Sales\Block\Order\Email\Items\Order\DefaultOrder" as="default" template="Corra_Sales::email/items/order/default.phtml"/>
        </referenceBlock>
    </body>
</page>

Кроме того, я пытался:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd" label="Email Creditmemo Items List" design_abstraction="custom">
    <body>
        <referenceBlock name="sales.email.order.renderers">
            <arguments>
                <argument name="template" xsi:type="string">Corra_Sales::email/items/order/default.phtml</argument>
            </arguments>
        </referenceBlock>
    </body>
</page>

Я очищаю кеш, удаляю папку var, перестраиваю и т. Д.

Но все равно не работает, кто-то может сказать мнечто я делаю не так, что всегда беру этот файл ->?

/ app / design / frontend / Corra / Mytheme / Magento_Sales / templates / email / items / order / default.phtml

1 Ответ

0 голосов
/ 12 апреля 2019

Это сработало для меня в 2.2.5. В файле вашего модуля должна быть указана последовательность, соответствующая Vendor / ModuleExample / etc / module.xml

<?xml version="1.0"?>
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Vendor_ModuleExample" setup_version="1.1.0">
        <sequence>
            <module name="Magento_Sales"/>
        </sequence>
    </module>
</config>

Также необходимо учитывать, что блок выполняетне иметь имени, поэтому вы можете использовать псевдоним.

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd" label="Email Creditmemo Items List" design_abstraction="custom">
    <body>
        <referenceBlock name="sales.email.order.renderers">
            <block class="Magento\Sales\Block\Order\Email\Items\Order\DefaultOrder" as="default" template="Vendor_ModuleExample::email/items/order/default.phtml"/>
        </referenceBlock>
    </body>
</page>

Дайте мне знать, если это помогло.

Источники: https://magento.stackexchange.com/questions/177343/override-magento-2-email-items-order-default-phtml https://www.classyllama.com/blog/template-override-m2

...