Exemplo n.º 1
0
 /**
  * Add stock information to product
  *
  * @param EventObserver $observer
  * @return $this
  */
 public function addInventoryData($observer)
 {
     $product = $observer->getEvent()->getProduct();
     if ($product instanceof \Magento\Catalog\Model\Product) {
         $stockItem = $this->stockItemRegistry->retrieve($product->getId());
         $this->_stockStatus->assignProduct($product, $stockItem->getStockId(), $product->getStockStatus());
     }
     return $this;
 }
Exemplo n.º 2
0
 /**
  * Add stock item objects to products
  *
  * @param array $productCollection
  * @return $this
  */
 public function addItemsToProducts($productCollection)
 {
     $items = $this->getItemCollection()->addProductsFilter($productCollection)->joinStockStatus($productCollection->getStoreId())->load();
     $stockItems = array();
     foreach ($items as $item) {
         $stockItems[$item->getProductId()] = $item;
     }
     foreach ($productCollection as $product) {
         if (isset($stockItems[$product->getId()])) {
             $this->stockStatus->assignProduct($product, $stockItems[$product->getId()]->getStockId(), $product->getStockStatus());
         }
     }
     return $this;
 }
Exemplo n.º 3
0
 /**
  * Assign Stock Status to Product
  *
  * @param \Magento\Catalog\Model\Product $product
  * @param int $stockId
  * @param int $stockStatus
  * @return \Magento\CatalogInventory\Service\V1\StockStatusService
  */
 public function assignProduct(\Magento\Catalog\Model\Product $product, $stockId = Stock::DEFAULT_STOCK_ID, $stockStatus = null)
 {
     $this->stockStatus->assignProduct($product, $stockId, $stockStatus);
     return $this;
 }