এটি আপনার পক্ষে কাজ করা উচিত:
$collection = $this->collectionFactory->create();
$collection->addAttributeToFilter('status', ['in' => $this->productStatus->getVisibleStatusIds()]);
$collection->setVisibility($this->productVisibility->getVisibleInSiteIds());
ব্যবহৃত ক্লাসগুলি হ'ল:
/**
* @var \Magento\Catalog\Model\Resource\Product\CollectionFactory
*/
protected $collectionFactory;
/**
* @var \Magento\Catalog\Model\Product\Attribute\Source\Status
*/
protected $productStatus;
/**
* @var \Magento\Catalog\Model\Product\Visibility
*/
protected $productVisibility;
সম্ভাব্য স্থিতি বা দৃশ্যমানতার মান পাওয়ার জন্য অন্য পদ্ধতিগুলি পরীক্ষা করতে এই ক্লাসগুলি পর্যালোচনা করুন।
তবে, সংগ্রহস্থলগুলির পর্যালোচনা ধারণাটি পর্যালোচনা করুন, যতদূর আমি দেখেছি ম্যাজেন্টো 2 সংগ্রহের পরিবর্তে পণ্য ডেটা অ্যাক্সেস করার জন্য সংগ্রহস্থল ব্যবহার করার পরামর্শ দেয়। উদাহরণ স্বরূপ:
$searchCriteria = $this->searchCriteriaBuilder->create();
$products = $this->productRepository->getList($searchCriteria)->getItems();