我正在尝试替换“添加到购物车”按钮的模板,但没有发生任何事情。
布局文件:
app/code/Plumrocket/Callforprice/view/frontend/layout/catalog_product_view.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<css src="Plumrocket_Callforprice::css/colorcart.css"/>
</head>
<body>
<referenceBlock name='product.info.addtocart' remove="true">
<action method='setTemplate'>
<argument name='template' xsi:type='string'>Plumrocket_Callforprice::catalog/product/view/addtocart.phtml</argument>
</action>
</referenceBlock>
</body>
</page>
模板文件
app/code/Plumrocket/Callforprice/view/frontend/templates/catalog/product/view/addtocart.phtml
包含来自的内容
vendor/magento/module-catalog/view/frontend/templates/product/view/addtocart.phtml
我尝试将product.info.addtocart
更改为product.info.addtocart.additional
,但仍然无效。
如果需要,请点击link to the project
答案 0 :(得分:1)
看起来问题是您同时执行remove="true"
并设置模板。您可以删除并替换它,但最简单的方法是只设置模板。假设您的Plumrocket_Callforprice模块已启用且您的xml文件正在被解析,那么它只会与您拥有的内容略有不同:
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<css src="Plumrocket_Callforprice::css/colorcart.css"/>
</head>
<body>
<referenceBlock name="product.info.addtocart">
<action method="setTemplate">
<argument name="template" xsi:type="string">Plumrocket_Callforprice::catalog/product/view/addtocart.phtml</argument>
</action>
</referenceBlock>
</body>
</page>
请注意&#39;删除=&#34; true&#34;&#39;已不再包含