Chinaunix首页 | 论坛 | 博客
  • 博客访问: 70059
  • 博文数量: 67
  • 博客积分: 2760
  • 博客等级: 少校
  • 技术积分: 690
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-28 22:14
文章分类

全部博文(67)

文章存档

2011年(1)

2009年(66)

我的朋友
最近访客

分类: 系统运维

2009-11-14 22:46:19

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

阅读(286) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~