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