So erhalten Sie behinderte Produkte in Magento 2


Antworten:


6

Sie können versuchen mit:

/** @var \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $_productCollectionFactory **/

$this->_productCollectionFactory->create()
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('status', \Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_DISABLED);

Müssen \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $_productCollectionFactoryin Ihren Konstruktor injizieren .


4

Es wird empfohlen, die Servicevertragsschicht zu verwenden (siehe hier: Magento 2: Welche Vorteile bietet die Verwendung von Serviceverträgen? )

protected $_productRepository;

protected $_searchCriteriaBuilder;

public function __construct(
    \Magento\Catalog\Api\ProductRepositoryInterface $productRepository,
    \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder
) {
    $this->_productRepository = $productRepository;
    $this->_searchCriteriaBuilder = $searchCriteriaBuilder;
}

Dann können Sie in Ihrem Code Folgendes tun:

$searchCriteria = $this->_searchCriteriaBuilder->addFilter('status', \Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_DISABLED, 'eq')->create();
$searchResults = $this->_productRepository->getList($searchCriteria);
$disabledProducts = $searchResults->getItems();
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.