让Magento系统目录只显示有库存的产品:
需要编程实现.(本文面向程序员)
具体通过对产品模型加上joinField操作来实现:
产品模型定义:$_productC = Mage::getResourceModel(’reports/product_collection’);
Join语句写法:$_productC->joinField(’inventory_in_stock’, ‘cataloginventory/stock_item’,'is_in_stock’, ‘product_id=entity_id’, ‘{{table}}.is_in_stock=1′);
范例:
$storeId = Mage::app()->getStore()->getId();
$category = Mage::registry(’current_category’);
$_productC = Mage::getResourceModel(’reports/product_collection’)
->addViewsCount()
->addAttributeToSelect(’*')
->setStoreId($storeId)
->addStoreFilter($storeId)
->addCategoryFilter($category)
->setPageSize(12)
->setCurPage(1);
Mage::getSingleton(’catalog/product_status’)->addVisibleFilterToCollection($_productC);
Mage::getSingleton(’catalog/product_visibility’)->addVisibleInCatalogFilterToCollection($_productC);
$_productC->joinField(’inventory_in_stock’, ‘cataloginventory/stock_item’,'is_in_stock’, ‘product_id=entity_id’, ‘{{table}}.is_in_stock=1′);
$this->setProductCollection($_productC);
描述:inventory_in_stock 字段别名 ,cataloginventory/stock_item model名,is_in_stock 字段名,
<script src="http://hi.images.youkuaiyun.com/js/blog/tiny_mce/themes/advanced/langs/zh.js" type="text/javascript"></script> <script src="http://hi.images.youkuaiyun.com/js/blog/tiny_mce/plugins/syntaxhl/langs/zh.js" type="text/javascript"></script> ;