Cómo ocultar el producto nuevo o destacado de la página de inicio Si está fuera de stock - Magento 1.7
-
12-12-2019 - |
Pregunta
Estoy mostrando productos nuevos y destacados en mi página de inicio.Me gustaría mostrar solo productos que están en stock.Si un producto está marcado como nuevo o destacado, se mostrará aquí solo si está en stock (tiene stock más de cero).
Este requisito es solo para la página de inicio, en otras páginas, me gustaría mostrar productos fuera de stock.
Este método no funciona: sistema / configuración / catálogo / inventario / visualización de productos - NO
¿Cómo puedo hacer eso?
¡Gracias!
Solución
marius,
Por favor, Reindex de admin> sistema> Administración de índice .
Básicamente, puede filtrar cualquier colección de productos por
Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($collection);
Pero depende del System/Configuration/Catalog/Inventory/Display Out of Stock Products -NO
Si no funciona, intente esto
/* $collection=Your Product Collection */
$cond = array(
'{{table}}.use_config_manage_stock = 0 AND {{table}}.manage_stock=1 AND {{table}}.is_in_stock=1',
'{{table}}.use_config_manage_stock = 0 AND {{table}}.manage_stock=0',
);
$cond[] = '{{table}}.use_config_manage_stock = 1 AND {{table}}.is_in_stock=1';
$collection->joinField(
'inventory_in_stock',
'cataloginventory/stock_item',
'is_in_stock',
'product_id=entity_id',
'(' . join(') OR (', $cond) . ')'
);