Я пытаюсь заменить шаблон для кнопки «Добавить в корзину», но ничего не происходит.
Файл макета:
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
, но это все равно не работает.
Если нужно, вот ссылка на проект
Похоже, проблема в том, что вы делаете оба 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» больше не включено
Других решений пока нет …