Как получить минимальную цену сгруппированного продукта от сбора продукта?

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

  •  16-10-2019
  •  | 
  •  

Вопрос

Я загружаю все продукты, используя модель ресурса сбора продуктов.

$_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);

Однако я не могу отобразить минимальную цену на сгруппированные продукты, например.

echo $_productCollection->getFirstItem()->getMinimalPrice();

Это работает для простых продуктов. Похоже, это связано с тем, что это тип блока ядра/шаблона, а не блок каталога/product_list. Но использование каталога/product_list не является вариантом по другим причинам.

Это было полезно?

Решение

Если вы обновляете свой код, так что он не просто выберите *, а используйте атрибуты конфигурации каталога, тогда ваш код работает для всех типов продуктов.

Mage::getSingleton('catalog/config')->getProductAttributes()

Ваш код должен выглядеть так.

$_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);

В этом случае правильные минимальные цены будут загружены для каждого типа продукта.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top