Понадобилось внести изменения в шаблон продукта из recently viewed - "последних просмотренных".
С удивлением разобрался, что реализация тут отличается от привычной layout - templates - рендеринг тут реализуется в ui component.
Xml файл, который нужно отредактировать - vendor/magento/module-catalog/view/frontend/ui_component/widget_recently_viewed.xml.
Вот часть кода этого xml, в который надо внести изменения<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
// вот сюда хочу внести изменения
<column name="addtocart-button" component="Magento_Catalog/js/product/addtocart-button" displayArea="action-primary-area">
<settings>
<label translate="true">Add To Cart</label>
<bodyTmpl>Magento_Catalog/product/addtocart-button</bodyTmpl>
</settings>
</column>
<column name="addtocompare-button" component="Magento_Catalog/js/product/addtocompare-button" sortOrder="2" displayArea="action-secondary-area">
<settings>
<label translate="true">Add To Compare</label>
<bodyTmpl>Magento_Catalog/product/addtocompare-button</bodyTmpl>
</settings>
</column>
<column name="learn-more" component="Magento_Catalog/js/product/learn-more" displayArea="description-area">
<settings>
<label translate="true">Learn more</label>
<bodyTmpl>Magento_Catalog/product/link</bodyTmpl>
</settings>
</column>
</columns>
</listing>
Поскольку редактировать этот файл напрямую нецелесообразно, копирую данный xml в каталог своей темы -
/vendor/myTheme/Magento_Catalog/ui_component/widget_recently_viewed.xml
И вроде все правильно, но сразу же не отображается цена. Если использую дефолтный, то цена отображается нормально.
Вообще надо между ценой и кнопкой "add to cart" добавить всего одну строку, точнее, ссылку, по клику на которую открывается модальное окно. В шаблоне продукта это все реализовано, а как это правильно добавить как компонент, да еще переписав при этом дефолтный xml?