如何在 magento 中根据库存状态对产品集合进行排序
How to sort product collection on stock status in magento
我想对分类页面的产品集合进行排序,使有货产品出现在缺货产品之前。所有缺货产品将在有货产品之后显示。我已经重写了 Mage_Product_Block_List 块。
You can use catalog_product_collection_load_before event.
And in the observer:
public function modifyProductCollection(Varien_Event_Observer $observer) {
//catalog_product_collection_load_before
$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')
)
->order('is_in_stock DESC')
->order('created_at DESC');
}
我想对分类页面的产品集合进行排序,使有货产品出现在缺货产品之前。所有缺货产品将在有货产品之后显示。我已经重写了 Mage_Product_Block_List 块。
You can use catalog_product_collection_load_before event.
And in the observer:
public function modifyProductCollection(Varien_Event_Observer $observer) {
//catalog_product_collection_load_before
$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')
)
->order('is_in_stock DESC')
->order('created_at DESC');
}