Неправильный счетчик продуктов виден на странице списка продуктов >>
1. Страница поиска
2. Страница категории
при добавлении дополнительной опции[Нравится -: Бестселлер и т. Д.] В сортировке по разделам с использованием плагина, затем отображается неправильное количество товаров, если вы использовали группу по условию в функции setCollection.
Попробовал в Magento 2.3.0 создать плагин Magento\Catalog\Block\Product\ProductList\Toolbar
для этой функции класса setCollection
.Проблема возникла из-за добавления условия группировки по группам в функцию setCollection
Я использую этот код в плагине -: [set Around Plugin]
/**
* Plugin
*
* @param \Magento\Catalog\Block\Product\ProductList\Toolbar $subject
* @param \Closure $proceed
* @param \Magento\Framework\Data\Collection $collection
*/
public function aroundSetCollection(
\Magento\Catalog\Block\Product\ProductList\Toolbar $subject,
\Closure $proceed,
$collection
) {
$currentOrder = $subject->getCurrentOrder();
$result = $proceed($collection);
$currentDirection = $subject->getCurrentDirection();
if ($currentOrder) {
if ($currentOrder == 'custom_bestseller') {
$subject->getCollection()->getSelect()
->joinLeft('sales_order_item', 'e.entity_id = sales_order_item.product_id', 'SUM(sales_order_item.qty_ordered) AS ordered_qty')
->group('e.entity_id')->order('ordered_qty ' . $currentDirection);
}
}
return $result;
}
Отображение точного количества