@lagudal

Как перезаписать ui component модуля magento catalog?

Понадобилось внести изменения в шаблон продукта из 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?
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы