¿Cómo consigo el precio mínimo de un producto agrupado de una colección de productos?

magento.stackexchange https://magento.stackexchange.com/questions/5139

  •  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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top