如何在Magento 2.0中替换phtml文件?

时间:2016-01-04 22:45:01

标签: magento2

在Magento 2.0管理面板(商店> Cofiguration>开发人员>调试)中,我为Storefront设置了#34;启用模板路径提示"到"是"。这为我提供了为每个部分生成HTML代码的phtml文件的引用。

Q1)对这些文件进行更改会得到我想要的结果。但我认为如果我决定将Magento更新为更新的版本,它们将被恢复/更改。我是对的吗?

Q2)有没有办法以另一种方式更改phtml文件将phtml文件放在我的主题文件夹中?如果是这样,我在哪里放置它们?

(对于简单的HTML更改,我不是XML的忠实粉丝,如果可能的话,我想尽可能地编写静态HTML。我已经激活了我自己的主题而没有任何基本主题。我是Magento的新手。)

谢谢!

2 个答案:

答案 0 :(得分:3)

据我所知,有两种方法可以更改phtml模板。改变原创 Magento文件是不好的做法,应该避免使用。

自定义主题

在自定义主题中,您可以根据Magento2的文件夹层次更改您喜欢的任何模板。 例如。更改login.phtml(来自模块Magento_Customer)您的文件路径将如下所示:

@testable import MyApp

源文件存在于:

app/design/frontend/${VENDORNAME}/${THEMENAME}/Magento_Customer/templates/form/login.phtml

我希望这有助于理解这里的命名方案。

自定义模块

在自定义模块中,更改模板有点困难。以下是更改topmenu.html的示例 模块Magento_Theme。在您的模块中,模板需要放在这里:

app/code/Magento/Customer/view/frontend/templates/form/login.phtml

此外,还需要布局定义:

app/code/${VENDORNAME}/${MODULENAME}/view/frontend/templates/html/topmenu.phtml

app/code/${VENDORNAME}/${MODULENAME}/view/frontend/layout/default.xml

查看<?xml version="1.0"?> <page layout="1columns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock class="Magento\Theme\Block\Html\Topmenu" name="catalog.topnav" template="${VENDORNAME}_${MODULENAME}::html/topmenu.phtml" ttl="false"/> </body> </page> 以获取参考资料,其中可以找到此xml垃圾;)

答案 1 :(得分:0)

创建一个日志文件&#39; mylog.log&#39;在var / log /中,将此代码放在函数中

    $writer = new \Zend\Log\Writer\Stream(BP . '/var/log/mylog.log');
    $logger = new \Zend\Log\Logger();
    $logger->addWriter($writer);
    $logger->info("Here your cmment");

授予此文件写入权限。