Answers:
有时我们需要对现有模板进行修改。与其直接对现有模板文件进行更改,不如在我们自己的主题中覆盖它们。让我们假设我们要更新类别列表页面(list.phtml
)。为此,创建以下目录结构:
app/design/frontend/Mycompany/Basic/Magento_Catalog/templates/product
在这里,我假设我们当前的主题是基本。现在,从以下位置将list.phtml文件复制到产品目录中:
app/vendor/magento/module-catalog/view/frontend/templates/product/list.phtml
现在,您可以对覆盖文件进行任何修改。
我在回答我自己的问题,
我发现了如何在问题中提到的位置覆盖.phtml文件,
您必须将它们放在以下位置以覆盖原始文件
app\design\frontend\<VENDOR_NAME>\<THEME_NAME>\Magento_Catalog\templates\product\view
而且我相信在Magento 2中覆盖任何其他.phtml文件的理论是相同的
覆盖phtml,布局和Web文件以拥有自定义主题
1)覆盖模板文件:
供应商/ magento /模块目录/视图/前端/模板/产品/list.phtml
走这条路
app / design / frontend / vendor / theme / Magento_Catalog / templates / product / list.phtml
2)覆盖布局文件:
供应商/ magento /模块目录/视图/前端/布局/catalog_product_view.xml
走这条路
app / design / frontend / vendor / theme / Magento_Catalog / layout / catalog_product_view.xml
覆盖pthml和布局文件
vendor/magento/module-catalog/view/frontend/templates/product/list.phtml
进入
app/Mycompany/OverideCatalog/view/frontend/templates/product/list.phtml
布局:
vendor/magento/module-catalog/view/frontend/layout/catalog_category_view.xml
进入
app/Mycompany/OverideCatalog/view/frontend/layout/catalog_category_view.xml
<block class="Magento\Catalog\Block\Product\ListProduct" name="category.products.list" as="product_list" template="Mycompnay_OverideCatalog::product/list.phtml">
通过自定义主题覆盖模板(phtml)
如果vendor\magento\module-catalog\view\frontend\templates\product\some.phtml
要先覆盖,则需要创建自定义主题,请参考此链接以了解如何创建自定义主题。
之后,在您的自定义主题中创建phtml文件以覆盖默认文件
app/design/frontend/vendor-name/theme-name/Magento_Catalog/templates/product/some.phtml
多数民众赞成在最后清除magento和浏览器的缓存,然后检查您的页面,仅反映新的phtml文件。
对所有模板覆盖都可以使用的相同方法。
祝好运
打开文件夹:/vendor/magento/theme-frontend-luma/
,然后从视图文件夹中复制模块模板和布局文件。
然后创建文件夹: /app/design/frontend/spacename/Theme/
然后创建模块文件夹,然后创建模板和布局文件夹。
从模块视图文件夹中插入模板和布局文件。
Classy Llama在一篇显示多种情况以及如何覆盖每种情况下的模板文件的文章中做得很好。
https://www.classyllama.com/blog/template-override-m2
当我来到此主题寻找答案时,它对我有所帮助。