2011-11-02 19 views
5

¿Cuál es exactamente la función de la propiedad is_in_stock en Magento? Si un producto está en stock se puede determinar si qty >= 1?Uso de magento is_in_stock

Parece que se ajusta automáticamente al stock_level actual (en comparación con la cantidad mínima permitida?) Pero ¿por qué entonces puede modificarlo manualmente? Siento que no sirve de nada modificarlo, porque cambiará a lo que quiera de todos modos.

No encuentro mucha información sobre la funcionalidad de esta propiedad a través de google, por lo que podría ser una buena Además :-).

Respuesta

5

Muchos comerciantes más pequeños van a utilizar Magento para monitorear sus niveles reales de existencias de "Almacén" (habitación extra) para productos. Puede haber ocasiones en las que quieran tener temporalmente un artículo como agotado en su tienda web, pero querrán que el número de stock en Magento refleje la cantidad de artículos que tienen disponibles por otros motivos comerciales.

Dicho de otra manera, el miembro de datos is_in_stock controla cómo la tienda muestra el producto, independientemente de la cantidad de elementos que tenga a mano.

+0

Gracias por la respuesta. Sin embargo, lo que me resulta extraño es que parece que hay un código que vuelve a colocar un artículo en stock cuando, por ejemplo, se cancela una orden ('Mage_CatalogInventory_Model_Stock-> backItemQty'). Entonces, un comerciante pequeño establecería 'is_in_stock' como falso y luego se cancelaría una orden (que contenía el producto) y' is_in_stock' volvería a ser cierto. –

+0

Sí, es una característica mal implementada que es claramente el trabajo de varios equipos que no hablan entre sí. –

0

Es posible que desee cavar a su alrededor: app/código/core/Mago/CatalogInventory/modelo/archivo/item.php

posterior, posiblemente relacionadas: Magento issue with calling isInStock() method on a product

+0

Gracias por la sugerencia. La publicación relacionada también es algo extraño, pero no es el problema al que me refiero aquí :-) –

+0

Np, estoy interesado en la diferencia también, si encuentra la respuesta adecuada, publique aquí si puede. – B00MER

0

Totalmente necesario para renovar mi respuesta aquí muchas disculpas. Cuando miraba a la función como se define en app/código/core/mago/Catálogo/modelo/Product.php vi esta situación muy extraña:

public function isInStock() 
{ 
    return $this->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_ENABLED; 
} 

Así que, mientras un producto está habilitada, isInStock siempre volverá verdadero. La función para saber si un producto está a la venta es isSaleable().

+0

Eso es correcto, pero no es el problema que menciono aquí. Me refiero a la propiedad 'is_in_stock' de StockItem y no a la del Producto. –

+0

Lo siento, me enfoqué en la función y no en la propiedad. El ejemplo que menciona arriba con la configuración manual "Agotado" y que el sistema lo devuelva a "en stock" cuando se cancela una orden, solo se producirá si el sitio tiene su configuración Administrar stock configurada en sí. Eso también puede ser anulado en el nivel de producto dentro de admin. Hacemos esto porque queremos control de inventario de algunos productos que vendemos pero no en otros donde nunca nos vendemos y el inventario es menos preocupante. –