Количество продуктов для привязанной категории в Magento2

#magento2 #megamenu

#magento2 #megamenu

Вопрос:

Я использую сторонний модуль Megamenu в Magento 2, и я настроил этот модуль из-за некоторых пользовательских требований.

Мне нужно подсчитать количество продуктов так же, как отображается в разделе категории администратора для привязанной категории, и использовать приведенный ниже код

$category-> getProductCollection()->count()

этот код возвращает 0 товаров, в то время как эта категория привязана, и в ее подкатегории есть какой-то продукт, поэтому он должен считать его подкатегориями продукта так же, как показано в разделе администратора.

Пожалуйста, сообщите, какой будет код для получения продуктов.

Спасибо,

Ответ №1:

Пожалуйста, убедитесь, что вы успешно переиндексировали после установки привязки через php bin/magento indexer/reindex .

Затем попробуйте следующий код:

Включите фабрику коллекции продуктов в свою конструкцию

 public function __construct(
        // ...
        MagentoCatalogModelResourceModelProductCollection $productCollection,
        // ...
    ) {
        // ...
        $this->productCollection = $productCollection;
        // ...
    }
 

И подсчитайте коллекцию продуктов, отфильтрованную по вашей категории.

 $products = $this->productCollection->create();
$products->addCategoryFilter($category);
$products->count();