Ви можете спробувати використати Magento Plugin для покращення існуючої функціональності будь-якого класу Анотація, хоча сфера функції повинна бути загальнодоступною. Нещодавно я працював над тим самим питанням, коли мені потрібно виключити продукти зі спеціальним атрибутом, присвоєними зі списку нещодавно переглянутих товарів .
Я використовував плагін для функції з назвою getItemsCollection з класу з іменем Magento \ Reports \ Block \ Product \ AbstractProduct, використовуючи наступний синтаксис:
файл: додаток \ код \ Пакет \ Модуль \ тощо \ frontend \ di.xml
<type name="Magento\Reports\Block\Product\AbstractProduct">
<plugin name="Package_Module::aroundGetItemsCollection" type="Package\Module\Block\Viewed" sortOrder="20"/>
</type>
файл: додаток \ код \ Пакет \ Модуль \ Блок \ Переглянуті.php
public function afterGetItemsCollection(
$subject, $result
) {
$result = $result->addAttributeToFilter('skip_hire_product', [['neq' => 1], ['null' => true]], 'left');
return $result;
}
Ви можете використовувати як навколо, так і перед плагінами. Сподіваюся, ця робота для вас.