Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CatalogInventory.php
Go to the documentation of this file.
1 <?php
7 
8 class CatalogInventory implements \Magento\Catalog\Model\Product\CopyConstructorInterface
9 {
13  protected $stockRegistry;
14 
18  public function __construct(
20  ) {
21  $this->stockRegistry = $stockRegistry;
22  }
23 
31  public function build(\Magento\Catalog\Model\Product $product, \Magento\Catalog\Model\Product $duplicate)
32  {
33  $stockData = [
34  'use_config_min_qty' => 1,
35  'use_config_min_sale_qty' => 1,
36  'use_config_max_sale_qty' => 1,
37  'use_config_backorders' => 1,
38  'use_config_notify_stock_qty' => 1,
39  ];
40  $currentStockItemDo = $this->stockRegistry->getStockItem(
41  $product->getId(),
42  $product->getStore()->getWebsiteId()
43  );
44  if ($currentStockItemDo->getItemId()) {
45  $stockData += [
46  'use_config_enable_qty_inc' => $currentStockItemDo->getUseConfigEnableQtyInc(),
47  'enable_qty_increments' => $currentStockItemDo->getEnableQtyIncrements(),
48  'use_config_qty_increments' => $currentStockItemDo->getUseConfigQtyIncrements(),
49  'qty_increments' => $currentStockItemDo->getQtyIncrements(),
50  ];
51  }
52  $duplicate->setStockData($stockData);
53  }
54 }
__construct(\Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry)
build(\Magento\Catalog\Model\Product $product, \Magento\Catalog\Model\Product $duplicate)
$stockData
Definition: products.php:27