/** * Get variation-matrix from product * * @param ProductInterface $product * @return array */ private function getVariationMatrixFromProduct(ProductInterface $product) { $result = []; $configurableMatrix = $product->hasData('configurable-matrix') ? $product->getData('configurable-matrix') : []; foreach ($configurableMatrix as $item) { if ($item['newProduct']) { $result[$item['variationKey']] = $this->mapData($item); if (isset($item['qty'])) { $result[$item['variationKey']]['quantity_and_stock_status']['qty'] = $item['qty']; } } } return $result; }