让Magento系统目录只显示有库存的产品(Instock Products Only)

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值