cancel
Showing results for 
Search instead for 
Did you mean: 

Выводить товары с нулевым количеством в конце списка (Magento 1.9)

Выводить товары с нулевым количеством в конце списка (Magento 1.9)

Здравствуйте! Мне необходимо на всех страницах сайта (категории, результаты поиска и т.д.) выводить товары с нулевым количеством в конце списка, но не прибегая к сортировке по убыванию количества (qty DESC, не нарушая стандартную сортировку "позиция"), то есть сначала должны выводиться товары с количеством больше нуля, затем с нулевым количеством. Как лучше это сделать, например, с помощью перехвата события catalog_product_collection_load_before в Observer'е? Спасибо.

3 REPLIES 3

Re: Выводить товары с нулевым количеством в конце списка (Magento 1.9)

Hi @sknoetikosecd3 

Follow the below link.

how-to-show-out-of-stock-products-at-the-end-of-product-list/ 

I hope it will help you!

Re: Выводить товары с нулевым количеством в конце списка (Magento 1.9)

@Vimal Kumar Sorry, but this solution does not work for me Smiley Sad

Re: Выводить товары с нулевым количеством в конце списка (Magento 1.9)

Вот решение которое работает для меня (в Observer модуля):

$collection = $observer->getCollection();

$collection->getSelect()
    ->joinLeft(
          array('_inventory_table'=>$collection->getTable('cataloginventory/stock_item')),
          '_inventory_table.product_id = e.entity_id',
          array('is_in_stock', 'manage_stock')
);
$collection->joinField(
    'inventory_qty',
    'cataloginventory_stock_item',
    'qty',
    'product_id=entity_id'
)->setOrder('inventory_qty', 'desc');

По умолчанию при сортировке по «позиции» все товары с нулевым количеством перемещаются в конец списка. Но с другими вариантами сортировки (по имени, цене) этот код не работает и все продукты отображаются вместе. Кто-нибудь может помочь с этим вопросом?