我想覆盖:
/opt/lampp/htdocs/magento_composer/vendor/magento/module-catalog/view/frontend/templates/product/view/addtocart.phtml
我已将其复制并粘贴到我的自定义模块中:
/opt/lampp/htdocs/magento_composer/app/code/Hello/Custom/view/frontend/templates/product/view/addtocart.phtml
这是我的布局文件:
<?xml version="1.0"?>
<page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="product.info.addtocart" template="Hello_Custom::product/view/addtocart.phtml" after="alert.urls">
</referenceBlock>
</body>
</page>
在:
/opt/lampp/htdocs/magento_composer/app/code/Hello/Custom/view/frontend/layout/catalog_product_view.xml
module.xml:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
<module name="Hello_Custom" setup_version="1.0.0" schema_version="1.0.0">
</module>
</config>
- 模块适用于简单的hello world,因此其注册正确...
问题出在模板路径提示文件中,该文件来自供应商..但它应该仅来自我的自定义模块(而不是来自主题)
catalog_product_view.xml是必不可少的,否则我们可以给文件起任何名字。实际上,我需要有关覆盖模板的帮助
—
siddhesh
siddhesh该文件的命名绝对必要。它确定布局文件的加载位置。例如
—
雅克
default.xml
,在每个页面上加载,但catalog_product_view.xml
仅在catalog/product/view
操作上加载。