Bạn có thể thử sử dụng Magento Plugin để tăng cường chức năng hiện có của bất kỳ lớp Trừu tượng nào, mặc dù phạm vi của chức năng phải là Công khai. Gần đây tôi đã làm việc về cùng một vấn đề mà tôi cần loại trừ các sản phẩm có thuộc tính tùy chỉnh được gán từ danh sách sản phẩm được xem gần đây .
Tôi đã sử dụng plugin cho hàm có tên getItemsCollection từ lớp có tên Magento \ báo cáo \ Block \ Product \ Trừu tượng sản phẩm bằng cú pháp sau:
tệp: app \ code \ Gói \ Module \ etc \ frontend \ di.xml
<type name="Magento\Reports\Block\Product\AbstractProduct">
<plugin name="Package_Module::aroundGetItemsCollection" type="Package\Module\Block\Viewed" sortOrder="20"/>
</type>
tệp: ứng dụng \ code \ Gói \ Mô-đun \ Khối \ Đã xem.php
public function afterGetItemsCollection(
$subject, $result
) {
$result = $result->addAttributeToFilter('skip_hire_product', [['neq' => 1], ['null' => true]], 'left');
return $result;
}
Bạn cũng có thể sử dụng xung quanh cũng như trước các plugin. Hy vọng công việc này cho bạn.