Magento2-销售电子邮件订单中的替代模板订单摘要

时间:2018-09-19 15:19:16

标签: php magento magento2 magento2.1

我有使用以下内容呈现订单摘要的模板

  

{{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 :(得分:0)

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