Проблема с заменой кнопки «Добавить в корзину»

Я пытаюсь заменить шаблон для кнопки «Добавить в корзину», но ничего не происходит.

Файл макета:
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, но это все равно не работает.

Если нужно, вот ссылка на проект

0

Решение

Похоже, проблема в том, что вы делаете оба 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>

Обратите внимание, что ‘remove = «true» больше не включено

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]