Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何以Magento方式实现库存过滤器?_Php_Magento_Magento 1.7_Layered Navigation - Fatal编程技术网

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

Php 如何以Magento方式实现库存过滤器?,php,magento,magento-1.7,layered-navigation,Php,Magento,Magento 1.7,Layered Navigation,在我的magento网站上可以看到缺货产品。我希望在分层导航中有一个自定义过滤器,它会说“排除缺货”,当客户单击它时,缺货产品应该被隐藏 (默认情况下,我在系统->配置->目录->库存下启用显示/显示缺货产品) i、 e.我希望客户控制他/她是否应该看到“缺货”产品 范例 有人能帮忙吗?我希望这是以magento的方式完成的…这是开发工作。你需要雇一个人 基本上,您需要为产品创建属性 例如,“排除库存” 然后需要在Mage/Catalog/Block/Product/List.php中编写代码

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

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

i、 e.我希望客户控制他/她是否应该看到“缺货”产品

范例


有人能帮忙吗?我希望这是以magento的方式完成的…

这是开发工作。你需要雇一个人

基本上,您需要为产品创建属性

例如,“排除库存”

然后需要在Mage/Catalog/Block/Product/List.php中编写代码

修改
函数\u getProductCollection()

$this->\u productCollection=$layer->getProductCollection()


这是开发工作。你需要雇一个人

基本上,您需要为产品创建属性

例如,“排除库存”

然后需要在Mage/Catalog/Block/Product/List.php中编写代码

修改
函数\u getProductCollection()

$this->\u productCollection=$layer->getProductCollection()


非常感谢你!这就是我要找的。。。“getModel('cataloginventory/stock_item')”实际上,我是在不显示缺货产品的简单条件下完成这项工作的。。。但现在我可以直接在收藏中过滤它。。。我会在我整理完这篇文章后再发。非常感谢你!这就是我要找的。。。“getModel('cataloginventory/stock_item')”实际上,我是在不显示缺货产品的简单条件下完成这项工作的。。。但现在我可以直接在收藏中过滤它。。。我会在我整理完后再发
$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);
}