¿Cómo consigo el precio mínimo de un producto agrupado de una colección de productos?
-
16-10-2019 - |
Pregunta
Estoy cargando todos los productos usando el modelo de recursos de recogida del producto.
$_categoryId = $this->getCategoryId();
$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addMinimalPrice()
->addFinalPrice()
->addTaxPercents()
->addCategoryFilter(Mage::getModel('catalog/category')->load($_categoryId))
->addAttributeToSelect('*')
->addAttributeToFilter('status', 1)
->addAttributeToFilter('visibility', 4);
Sin embargo estoy no es capaz de mostrar el precio mínimo de los productos agrupados utilizando por ejemplo.
echo $_productCollection->getFirstItem()->getMinimalPrice();
Esto funciona para los productos simples. Esto parece estar relacionado con el hecho de que se trata de una plantilla de tipo núcleo / bloque y no un bloque Catálogo / product_list. Pero el uso de catálogo / product_list no es una opción debido a otras razones.
Solución
Si actualiza su código por lo que no sólo tiene que seleccionar * sino que utilizan los atributos del catálogo de configuración a continuación, sus obras de código para todo tipo de productos.
Mage::getSingleton('catalog/config')->getProductAttributes()
El código debería ser similar.
$_categoryId = $this->getCategoryId();
$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addMinimalPrice()
->addFinalPrice()
->addTaxPercents()
->addCategoryFilter(Mage::getModel('catalog/category')->load($_categoryId))
->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
->addAttributeToFilter('status', 1)
->addAttributeToFilter('visibility', 4);
En este caso los precios mínimos correctos se cargará para cada tipo de producto.