我在获取类别集合的计数时遇到问题,该集合将包含任何该类别子项中的产品。
但是,我不想要一个完整的计数,我想按产品集合过滤该计数(因此只包括出现在产品集合中的计数中的产品)......
有什么建议么?
获取过滤产品集合的代码(由多选属性过滤)
/** @var $attribute Mage_Eav_Model_Entity_Attribute */
$valuesCollection = Mage::getResourceModel('eav/entity_attribute_option_collection')
->setAttributeFilter($attribute->getId())
->addFieldToFilter('value', array ('like' => $make))
->addFieldToSelect('option_id')
->setStoreFilter(0, false);
$set = array();
foreach($valuesCollection as $option){
$set[] = $option->getData('option_id');
}
$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToFilter('sparex_makemodel',
array('in' => $set
)
)
->addAttributeToSelect('*');
我正在获取给定类别的子类别,如下所示..
$childCats = Mage::getModel('catalog/category')->load(2)->getChildrenCategories();
现在这些类别都没有分配给他们的产品,但是他们的孩子(或孩子的孩子)有。
我想为这些类别生成一个计数,其中包括子类别,但仅限于产品在我过滤的集合中的位置。