Magento 如何获取一个产品资源集合?

来源:互联网 发布:iso 8000数据质量标准 编辑:程序博客网 时间:2024/05/22 11:56

$category_id = 20;$_productCollection = Mage::getModel('catalog/category')->load($category_id) ->getProductCollection() ->addAttributeToSelect('*') ->addAttributeToFilter('status', 1) ->addAttributeToFilter('visibility', 4) ->addAttributeToFilter('special_price', array('neq' => "")) ->setOrder('name', 'ASC') ;

_getProductCollection()这个方法相信很多人都应该很熟悉,Mage_Catalog_Block_Product_List这个类其实最终是继承自Varien_Data_Collection这个父类,关于Varien_Data_Collection的API大家可以查看官方的解说http://docs.magentocommerce.com/Varien/Varien_Data/Varien_Data_Collection.html

_getProductCollection()出现在Mage_Catalog_Block_Product_List类中,用于获取一段经过筛选的产品集合。常常用在product list page,如果是外部调用的话就应该直接使用Mage类来调用,很多相似的文章大家可以网上搜搜,这里写一段示范代码,这段代码获取category_id为20的产品分类下的产品并进行筛选,Magento同样使用了数据库抽象层,这样开发人员就避开了SQL语句,直接和OOP打交道就行了。