2011-12-19 27 views
0

我正在使用一個主題,其中包括meganavigation並在導航上有一個滑出菜單,它顯示了一個類別中的產品快速查看添加到購物車。Magento meganavigation模塊不顯示缺貨項目

此功能似乎不起作用,所以我們希望停止meganavigation完全顯示缺貨項目。我已經找到了這段代碼: 應用程序/代碼/本地/ Jextn/Meganavigation /座/ Meganavigation.php

public function cateProducts($cateId) { 
    $products = Mage::getModel('catalog/product')->getCollection() 

    ->addCategoryFilter(Mage::getModel('catalog/category')->load($cateId)) 
    ->setOrder('created_at', 'asc') 
    ->addAttributeToFilter('visibility', 4) 
    ->getFirstItem() 
    ->load(); 

    return $products; 
} 

我認爲,我們可以使用addAttributeToFilter調用來做到這一點,但我有沒有運氣。任何人都可以幫助或給我一些指針嗎?

該系統在Magento ver上。 1.4.1.1

回答

0

試試這個:

$stockCollection = Mage::getModel('cataloginventory/stock_item')->getCollection() 
     ->addFieldToFilter('is_in_stock', 1); 
$productIds = array(); 
foreach ($stockCollection as $item) { 
    $productIds[] = $item->getOrigData('product_id'); 
} 
$products = Mage::getModel('catalog/product')->getCollection() 
     ->addIdFilter($productIds) 
     ... 

source

+0

我與你修改的代碼試過了,遺憾的是它現在給我一個錯誤頁面上的前端 - 「無效的屬性名稱:is_in_stock」在底下有一個很大的痕跡。 – LukeKM7 2011-12-19 15:49:46

+0

對不起,我沒仔細看過代碼。 – vicch 2011-12-19 15:56:24

+0

謝謝比奇,我已經在幾個變化中使用過你的代碼,但沒有多少運氣。所以,現在,我要嘗試一種替代解決方案;我會嘗試隱藏所述商品上的「添加到購物車」按鈕,而不是顯示「缺貨」消息。這是我的客戶決定他想要的。 – LukeKM7 2011-12-21 09:12:16