Magento2:覆盖自定义模块模板

Magento2:覆盖自定义模块模板,magento2,Magento2,我有两个自定义模块。比如说, Module_A Module_B 我已经创建了模块B的module.xml,其中包含模块A的序列。如下所示 <module name="Module_B" setup_version="0.0.1"> <sequence> <module name="Module_A"/> </sequence> </module> 我想覆盖模块B中模块A的模板文件,我正在使用lu

我有两个自定义模块。比如说,

Module_A
Module_B
我已经创建了模块B的module.xml,其中包含模块A的序列。如下所示

<module name="Module_B" setup_version="0.0.1">
    <sequence>
        <module name="Module_A"/>
    </sequence>
</module>

我想覆盖模块B中模块A的模板文件,我正在使用luma主题


我试图在app/design/frontend/Magento/luma/Module_A/templates/(phtml文件)中覆盖它。但它似乎不起作用。

要覆盖模块phtml文件,我将采用以下两种方法之一:

-

用XML布局覆盖模板

使用模块_B中的xml布局文件覆盖phtml文件,以告知Magento从模块_B而不是模块_a加载块的phtml文件。 这是一种非常有效的方法,即使对布局块中的主要更改也是如此,但您必须跟踪块名称,以便在将来的更新中进行任何更改

请按照以下步骤了解如何使用xml布局覆盖更改特定块的phtml文件

-

用主题文件覆盖模板

创建Luma的子主题(或其他主题),并开始包含模块a的phtml文件,如下所示:

app/design/frontend/customtheme/Module_A/{layout,templates,web}/(phtml file)
就个人而言,如果您想对模块A渲染块进行一些快速更改和修复,我更喜欢这种方法

你可以作为你的参考,因为它基本上是一样的