Как отобразить общее количество продуктов и общее количество настраиваемых продуктов в Magento?

0

Я пытаюсь написать сценарий, который отображает 1) общий объем продуктов, 2) общий объем настраиваемых продуктов, 3) общее количество продуктов в пределах набора атрибутов "Нет", 4) общий объем заказов, и 5) общая сумма $ заказов в течение определенного промежутка времени в Magento.

Я решил 4) и 5), но есть проблемы с поиском решений для 1) 2) и 3). Может ли кто-нибудь помочь?

---------------------------After 2/3/2015 ---------------------------

Вот модифицированная версия кода с помощью @Blastfreak, проблема с этим кодом заключается в том, что он отображает неправильное количество настраиваемых продуктов и продуктов "Нет" - похоже, что общая сумма была отображена независимо:

$productModel = Mage::getModel('catalog/product');
$collection = $productModel->getCollection();
//Attribute Set "None" and "NONE"
$attributeSetId_None1 = Mage::getModel('eav/entity_attribute_set')
    ->load($attrSetName, 'None')
    ->getAttributeSetId();    
$attributeSetId_NONE2 = Mage::getModel('eav/entity_attribute_set')
    ->load($attrSetName, 'NONE')
    ->getAttributeSetId();
//1) Total Products
$TotalProducts = $collection->getSize();

//2) Configurable Products

$TotalConfigurableProduct= $collection->addAttributeToFilter('type_id', array('eq' => 'configurable'))->getSize();

//3) Total Productw within attribute set none
if ($attributeSetId_None1 || $attributeSetId_NONE2){
$Total_None1= $collection->addAttributeToFilter('attribute_set_id',$attributeSetId_None1)->getSize();
$Total_NONE2= $collection->addAttributeToFilter('attribute_set_id',$attributeSetId_NONE2)->getSize();
$TotalNone=$Total_None1+$Total_NONE2;
}
else{
$TotalNone=0;
}

$TotalConfigurableAndNone=$TotalConfigurableProduct+$TotalNone;

Вместо использования getSize() или count() я обнаружил, что цикл foreach может отображать правильное количество элементов. Например:

foreach ($TotalConfigurableProduct as $total_config)
{
    $k++; //the correct amount of configurable products
}
Теги:
magento

1 ответ

0

Ваше решение для следующего:

<?php 

$productModel = Mage::geModel('catalog/product');
$collection = $productModel->getCollection;

//1) Total Products
$TotalProducts = $collection->getSize();

//2) Configurable Products

$TotalConfigurableProduct= $collection->addAttributeToFilter('type_id', array('eq' => 'configurable'))->getSize();

//3) Total Productw within attribute set none

$TotalConfigurableProduct= $collection->addAttributeToFilter('attribute_set_id','attribute set id here')->getSize();
  • 0
    Спасибо большое Blastfreak! Я редактировал вопрос.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню