acquia_commercemanager-8.x-1.122/modules/acm_sku_stock/acm_sku_stock.module

modules/acm_sku_stock/acm_sku_stock.module
<?php

/**
 * @file
 * Module file.
 */

use Drupal\acm_sku\Entity\SKU;

/**
 * Implements hook_acm_sku_product_sku_alter().
 */
function acm_sku_stock_acm_sku_product_sku_alter(SKU $sku, $product) {
  // Update stock info from product.
  if (isset($product['extension']['stock_item'])) {

    /** @var \Drupal\acm_sku\StockManager $manager */
    $manager = \Drupal::service('acm_sku.stock_manager');

    $stock = $product['extension']['stock_item'];
    $quantity = array_key_exists('qty', $stock) ? $stock['qty'] : $stock['quantity'];
    $stock_status = isset($stock['is_in_stock']) ? (int) $stock['is_in_stock'] : 1;

    $changed = $manager->updateStock($product['sku'], $quantity, $stock_status);

    \Drupal::logger('acm_sku_stock')->info('@operation stock for sku @sku. Message: @message', [
      '@operation' => $changed ? 'Updated' : 'Processed',
      '@sku' => $product['sku'],
      '@message' => json_encode($stock),
    ]);
  }
}

/**
 * Implements hook_ENTITY_TYPE_delete().
 */
function acm_sku_stock_acm_sku_delete(SKU $entity) {
  /** @var \Drupal\acm_sku\StockManager $manager */
  $manager = \Drupal::service('acm_sku.stock_manager');
  $manager->removeStockEntry($entity->getSku());
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc