Yanıtlar:
Deneyin { { $ product = $ productRepository-> get ($ sku);= $productRepository->get($sku); } catch (\ Magento \ Framework \ Özel Durum \ NoSuchEntityException $ e) {} catch (\Magento\Framework\Exception\NoSuchEntityException $e){ $ ürün = yanlış;= false; }}
Bunu dene:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product = $objectManager->get('Magento\Catalog\Model\Product');
if($product->getIdBySku($sku)) {
echo 'exit';
}
VEYA
protected $product;
public function __construct(
\Magento\Catalog\Model\Product $product
) {
$this->_product = $product;
}
ve kontrol ettikten sonra
if($this->_product->getIdBySku($sku)) {
echo 'exit';
}
@Bpoiss cevabına bakın, cevabım sku kullanarak bir ürünü nasıl alacağınız hakkında daha fazla şey.
Bunu yapmak için Magento\Catalog\Model\ProductRepository
sınıfı kullanabilirsiniz .
İlk önce kurucunuza enjekte edin:
protected $_productRepository;
public function __construct(/* your original parameters here */, \Magento\Catalog\Model\ProductRepository $productRepository)
{
/* your original code here */
$this->_productRepository = $productRepository;
/* end of your original code */
}
Sonra işlevinizde şunları yapabilirsiniz:
$this->_productRepository->get($sku);
Bence yapabilirsin:
$checkProduct = $this->objectManager->create(
'Magento\Catalog\Model\Product'
);
if($checkProduct->getIdBySku()){
echo 'exist';
}
Ancak standart işlev değildir.