我有使用以下内容呈现订单摘要的模板
{{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
答案 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