【问题标题】:How to override .phtml file in custom module of magento?如何覆盖magento自定义模块中的.phtml文件?
【发布时间】:2026-02-07 04:45:01
【问题描述】:

我想在我的自定义模块中覆盖 checkout/onpepage/payment.phtml?在我的模块 layout.xml 中,我使用了下面给出的代码-:

<checkout_onepage_index>
      <reference name="payment">         
            <action method="setTemplate">
                <template>giftcard/checkout/onepage/payment.phtml</template>
           </action>      
     </reference>
 </checkout_onepage_index>

但是 payment.phtml 文件在我的自定义模块中没有被覆盖。

我浏览了以下链接和更多教程,但没有找到确切的解决方案。

http://blog.chapagain.com.np/magento-overriding-template-file-from-custom-module/ http://www.magentocommerce.com/boards/viewthread/262202/#t352074 Magento Extension Needs to Override a Template

我已经清除了浏览器缓存和 magento 缓存。

【问题讨论】:

    标签: magento


    【解决方案1】:

    自定义 Magento 2 的核心功能是一种糟糕的编码习惯。解决方案是使用 Magento 2 中的自定义模块覆盖 phtml 文件。

    在 Magento 2 中使用自定义模块覆盖 phtml 文件的方法:

    1. 带插件
    2. 使用 XML

    https://meetanshi.com/blog/override-phtml-file-using-custom-module-in-magento-2/了解这两种方法的实现

    【讨论】:

      【解决方案2】:

      使用 checkout.onepage.payment 作为参考而不是付款,这将对您有所帮助

      【讨论】:

        【解决方案3】:

        还请在 app/code/design/THEME/layout/checkout.xml 中的“block”标签的帮助下覆盖它的 .phtml 文件。 我曾经做过一次。这个对我有用。我希望它也对你有用......

        【讨论】: