Magento2 Magento 2-如何获得所有库存产品的数量
我想要所有种类的所有可用产品的总数量。我知道有Magento2 Magento 2-如何获得所有库存产品的数量,magento2,magento-2.3,Magento2,Magento 2.3,我想要所有种类的所有可用产品的总数量。我知道有->getStockItem()->getQty(),但这只适用于每个产品,而不是所有产品 现在,我循环分类并统计产品,但不活跃的产品也会被统计: $sum = 0; for($i=3; $i <= 18; $i++) { $categoryI = $categoryFactory->create()->load($i); echo $categoryI
->getStockItem()->getQty()
,但这只适用于每个产品,而不是所有产品
现在,我循环分类并统计产品,但不活跃的产品也会被统计:
$sum = 0;
for($i=3; $i <= 18; $i++) {
$categoryI = $categoryFactory->create()->load($i);
echo $categoryI->getProductCount();
$sum+= $categoryI->getProductCount();
echo ' ';
}
echo 'Summe: ';
echo $sum;
$sum=0;
对于($i=3;$i create()->加载($i);
echo$categoryI->getProductCount();
$sum+=$categoryI->getProductCount();
回声';
}
回声“Summe:”;
echo$sum;
是否有一种简单、干净的方法来获取所有库存活动产品的总和?谢谢,没有按类别“内置”的方法。如果您想计算启用的产品,但仅限于某些类别,您可以使用以下方法:
在您的构造中:
protected $_productCollectionFactory;
public function __construct(
// ...
\Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $productCollectionFactory,
// ...
) {
// ...
$this->_productCollectionFactory = $productCollectionFactory;
// ...
}
$sum = 0;
for($i=3; $i <= 18; $i++) {
$product_collection = $this->_productCollectionFactory->create();
$product_collection ->addCategoryFilter($category);
$product_collection ->addAttributeToFilter('status',\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED);
$sum += $product_collection->count();
}
在您的功能中:
protected $_productCollectionFactory;
public function __construct(
// ...
\Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $productCollectionFactory,
// ...
) {
// ...
$this->_productCollectionFactory = $productCollectionFactory;
// ...
}
$sum = 0;
for($i=3; $i <= 18; $i++) {
$product_collection = $this->_productCollectionFactory->create();
$product_collection ->addCategoryFilter($category);
$product_collection ->addAttributeToFilter('status',\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED);
$sum += $product_collection->count();
}