Antworten:
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 $_productCollectionFactory
in Ihren Konstruktor injizieren .
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();