Estás leyendo la publicación: Cómo cambiar automáticamente la “disponibilidad de stock” en la actualización de cantidad en Magento 2
¿Le resulta difícil administrar el estado del inventario en su tienda Magento 2? ¿A veces se olvida de actualizar el estado de disponibilidad de existencias después de cambiar el número de cantidad en el backend de Magento 2? ¿Alguna vez decepcionó a un visitante con el estado de falta de existencias que en realidad no era el caso?
¡Te entiendo! 😄
Los desarrolladores tienden a olvidar el estado del inventario después de actualizar la cantidad. Esto da como resultado un estado de falta de stock en la interfaz aunque haya actualizado el stock desde el backend.
¿Qué tal implementar un método que cambio automático “Disponibilidad de stock” en la actualización de cantidad en Magento 2? De esa manera, no necesita preocuparse por el estado del inventario. ¡El siguiente código se encarga de ello!
Pasos para cambiar automáticamente la “disponibilidad de stock” en la actualización de cantidad en Magento 2:
- Crear observador catalog_product_save_after en Proveedor> Extensión> etc.> adminhtml> events.xml
- Crear archivo de observador
stockRegistry = $stockRegistry; } public function execute(Observador $observador) { try { $producto = $observador->getProduct(); if ($producto->getTypeId() != ‘configurable’) { $sku = $producto->getSku(); $artículo de stock = $this->stockRegistry->getStockItemBySku($sku); $cantidad = $artículo en stock->getQty(); $artículo en stock->setIsInStock((bool)$qty); $this->stockRegistry->updateStockItemBySku($sku, $stockItem); } } catch (\Exception $e) { return $e->getMessage(); } } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dieciséis
17
18
19
20
21
22
23
24
25
26
27
28
29
espacio de nombres Proveedor\Extensión\Observador;
clase ProductSaveAfter implementa ObserverInterface
{
$stockRegistry protegido;
función pública __construct(StockRegistryInterface $stockRegistry)
{
$this->stockRegistry = $stockRegistry;
}
función pública ejecutar (Observador $ observador)
{
intentar
{
$producto = $observador->getProduct();
if ($producto->getTypeId() != ‘configurable’)
{
$sku = $producto->getSku();
$artículo de stock = $this->stockRegistry->getStockItemBySku($sku);
$cantidad = $artículo en stock->getQty();
$artículo en stock->setIsInStock((bool)$qty);
$this->stockRegistry->updateStockItemBySku($sku, $stockItem);
}
}
atrapar (\Excepción $e)
{
devuelve $e->getMessage();
}
}
}
¡Siga los pasos anteriores y podrá administrar fácilmente el estado del inventario en el cambio de cantidad en Magento 2!
Nota: La solución funciona con Magento 2.2.x
Siéntase libre de publicar cualquier duda sobre el tema en la sección de Comentarios a continuación y estaré encantado de ayudar.
¡Califica la publicación con 5 estrellas!
Gracias.