Как скрыть новый или рекомендуемый товар с домашней страницы, если его нет в наличии - Magento 1.7


Я показываю новые и популярные продукты на своей домашней странице. Я хотел бы показать только те товары, которые есть на складе. Если товар помечен как новый или рекомендуемый, он будет показан здесь только в том случае, если он есть на складе (есть запасы больше нуля).

Это требование только для домашней страницы, на других страницах я хотел бы показать товары, которых нет в наличии.

Этот метод не работает: Система/Конфигурация/Каталог/Инвентарь/Отображение отсутствующих на складе товаров - НЕТ

Как я могу это сделать это?

Спасибо вам!

Author: Marius, 2015-03-07

1 answers

Мариус,

Пожалуйста, переиндексируйте из администратор>Система>Управление индексами.

В принципе, вы можете отфильтровать любую коллекцию продуктов по

Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($collection);

Но это зависит от System/Configuration/Catalog/Inventory/Display Out of Stock Products -NO

Если не работает, попробуйте это

/* $collection=Your Product Collection */
        $cond = array(
            '{{table}}.use_config_manage_stock = 0 AND {{table}}.manage_stock=1 AND {{table}}.is_in_stock=1',
            '{{table}}.use_config_manage_stock = 0 AND {{table}}.manage_stock=0',
        );

            $cond[] = '{{table}}.use_config_manage_stock = 1 AND {{table}}.is_in_stock=1';

        $collection->joinField(
            'inventory_in_stock',
            'cataloginventory/stock_item',
            'is_in_stock',
            'product_id=entity_id',
            '(' . join(') OR (', $cond) . ')'
        );
 2
Author: Amit Bera, 2015-03-08 10:19:07