我正在尝试获取仅具有某些类别的促销价的产品列表。现在我正在尝试使用产品集合来获取这些数据。我不确定如何仅限制特定类别的集合。以下是我到目前为止的情况:
$products = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('status', 1)
->addAttributeToFilter('visibility', 4)
->addAttributeToFilter('special_price', array('neq' => ""))
->addAttributeToFilter('discontinued', array('neq' => 1))
->setPageSize(10)
->setOrder('price', 'ASC')
;
已停用的属性是我们使用的自定义属性,因此产品不会显示,也不会显示404。
有没有办法使用产品模型并限制某些类别?
答案 0 :(得分:5)
想出来。您从类别开始,从类别中获取产品集合,然后从那里进行优化。在代码中它看起来像这样:
$products = Mage::getModel('catalog/category')->load(410)
->getProductCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('status', 1)
->addAttributeToFilter('visibility', 4)
->addAttributeToFilter('special_price', array('neq' => ""))
->addAttributeToFilter('discontinued', array('neq' => 1))
->setOrder('price', 'ASC')
;