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

magento.stackexchange https://magento.stackexchange.com//questions/60020

Вопрос

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

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

Этот метод не работают: система / конфигурация / каталог / инвентарь / отображение продуктов питания - нет

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

Спасибо!

Это было полезно?

Решение

Marius,

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

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

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

Но это зависит от генеракодицетагкода

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

/* $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) . ')'
        );
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top