更换“添加到购物车”按钮时出现问题

时间:2018-04-04 19:48:36

标签: php magento magento2.2

我正在尝试替换“添加到购物车”按钮的模板,但没有发生任何事情。

布局文件:
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

1 个答案:

答案 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;已不再包含