让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);

本文介绍如何通过编程方式在Magento系统中实现仅展示有库存产品的功能。具体实现方法是通过对产品模型进行joinField操作来完成,该操作可以确保产品列表只包含当前有库存的产品。
1421

被折叠的 条评论
为什么被折叠?



