【问题标题】:How can I implement stock filter in Magento way?如何以 Magento 方式实现股票过滤器?
【发布时间】:2013-01-12 05:05:01
【问题描述】:

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

(默认情况下,我在 System-> Configuration-> CATALOG-> Inventory 下启用显示/显示缺货产品)

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

示例 this link

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

【问题讨论】:

    标签: php magento magento-1.7 layered-navigation


    【解决方案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);
    }
    

    【讨论】:

    • 非常感谢!这就是我一直在寻找的...“getModel('cataloginventory/stock_item')”实际上我使用简单的条件完成了这项工作,我不会显示缺货产品...但现在我可以立即将其过滤掉集合......我会在我完全排序后发布
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多