Как скрыть новый или рекомендуемый товар с домашней страницы, если его нет в наличии - Magento 1.7
Я показываю новые и популярные продукты на своей домашней странице. Я хотел бы показать только те товары, которые есть на складе. Если товар помечен как новый или рекомендуемый, он будет показан здесь только в том случае, если он есть на складе (есть запасы больше нуля).
Это требование только для домашней страницы, на других страницах я хотел бы показать товары, которых нет в наличии.
Этот метод не работает: Система/Конфигурация/Каталог/Инвентарь/Отображение отсутствующих на складе товаров - НЕТ
Как я могу это сделать это?
Спасибо вам!
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) . ')'
);