Estoy recuperando una colección de productos basada en la categoría actual. Necesito que esta colección contenga productos dentro y fuera de stock, y también necesito que los datos de precios se muestren correctamente.
Mi tienda está configurada para almacenar precios de productos como impuestos incluidos, y para mostrar precios tanto inclusivos como exclusivos en el frente de la tienda.
El código para obtener la colección es el siguiente:
$category = Mage::registry('current_category');
$_productCollection = Mage::getModel('catalog/product')->getCollection()
->addCategoryFilter($category)
->addAttributeToSelect(['sku', 'name', 'price'])
->addAttributeToFilter('status', 1)
->addAttributeToSort('jump_number', Varien_Data_Collection::SORT_ORDER_ASC);
El problema con lo anterior es que al cargar el bloque de precios utilizando el getPriceHtml()
método, los precios inclusivos y exclusivos se muestran como el precio inclusivo.
Después de investigar un poco, descubrí que agregar un addFinalPrice()
método a mi colección me da el precio esperado: un precio exclusivo correcto e inclusivo correcto.
Sin embargo, si incluyo el addFinalPrice()
método, mi colección ya no contiene productos agotados.
¿Hay alguna manera de devolver los datos de precios correctos y hacer que la colección contenga productos vendibles y agotados?
He resuelto este problema ahora, y en realidad es bastante simple y lógico: solo necesitaba ir
Configuration -> Catalog -> Inventory
y configurar 'Mostrar productos agotados' enYes
.Con lo anterior establecido en
Yes
y eladdFinalPrice()
método agregado a la colección, ahora obtengo todos mis productos y los datos de precios correctos.fuente