Меганавигационный модуль Magento не отображать на складе - PullRequest
0 голосов
/ 19 декабря 2011

Я использую тему, которая включает в себя меганавигацию и имеет скользящее меню на навигационной панели, где отображается быстрый просмотр товаров в категории для добавления в корзину.

Эта функция, похоже, не работаетработать, поэтому мы бы хотели, чтобы мегавигация вообще не показывала товар на складе.Я отследил этот код: app / code / local / Jextn / Meganavigation / Block / 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 вер.1.4.1.1

1 Ответ

0 голосов
/ 19 декабря 2011

Попробуйте это:

$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)
        ...

источник

...