如何以Magento方式实现库存过滤器?

时间:2013-01-12 05:05:02

标签: php magento magento-1.7 layered-navigation

在我的magento网站上可以看到缺货产品。我想在分层导航中使用自定义过滤器,它会说“排除缺货”,当客户点击它时,应该隐藏缺货产品。

(默认情况下,我启用在系统 - >配置 - > CATALOG->库存)下显示/显示缺货产品

即。我希望客户控制他/她是否应该看到“缺货”产品。

示例 this link

任何人都可以帮忙吗?我希望以magento的方式完成......

1 个答案:

答案 0 :(得分:1)

这是开发工作。你需要聘请一些人。

基本上你需要为产品创建属性。

例如。 'exclude_out_of_stock'。

然后你需要在Mage / Catalog / Block / Product / List.php

中编码

修改function _getProductCollection()

$this->_productCollection = $layer->getProductCollection();

$this->_productCollection = $layer->getProductCollection();

if ($this->getRequest()->getParam('exclude_out_of_stock',0)) {

            $oCollection = Mage::getModel('cataloginventory/stock_item')
                ->getCollection()
                ->addFieldToFilter('is_in_stock',0);

            $oProducts = array();
            foreach($oCollection as $_collection) {
                $oProducts[] = $_collection->getProductId();
            }

            if(!empty($oProducts))
                $this->_productCollection->addIdFilter($oProducts,true);
}