2011-12-19 6 views
0

メガネを含むテーマを使用しています。ナビゲーションにスライドアウトメニューがあり、カートに追加するカテゴリの製品のクイックビューが表示されます。Magento meganavigationモジュール

この機能は動作していないようですので、在庫切れのアイテムが完全に表示されなくなります。私たちはこれを行うにはaddAttributeToFilterコールを使用することができると思う アプリ/コード/ローカル/ 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; 
} 

を、ない運を持っていないのです。私はこのコードを突き止めています。誰でも助けてくれますか、私にいくつかのポインタをお願いしますか?

システムはマゼンタ版です。 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

+0

申し訳ありませんが、コードを慎重に見ていませんでした。 – vicch

+0

おかげでvicch、私はあなたのコードをいくつかのバリエーションで使用しましたが、多くの運がありません。ですから、今は別の解決策を試すつもりです。上記の項目の「カートに追加」ボタンを非表示にして、代わりに「在庫切れ」メッセージを表示するようにします。これは私のクライアントが望むことを決めたものです。 – LukeKM7

関連する問題