🔍 InstockProductsFirst Debug Info
SQL Query:
SELECT `e`.*, `price_index`.`price`, `price_index`.`tax_class_id`, `price_index`.`final_price`, IF(price_index.tier_price IS NOT NULL, LEAST(price_index.min_price, price_index.tier_price), price_index.min_price) AS `minimal_price`, `price_index`.`min_price`, `price_index`.`max_price`, `price_index`.`tier_price`, IFNULL(review_summary.reviews_count, 0) AS `reviews_count`, IFNULL(review_summary.rating_summary, 0) AS `rating_summary` FROM `catalog_product_entity` AS `e` INNER JOIN `catalog_product_index_price` AS `price_index` ON price_index.entity_id = e.entity_id AND price_index.customer_group_id = 0 AND price_index.website_id = '1' LEFT JOIN `review_entity_summary` AS `review_summary` ON e.entity_id = review_summary.entity_pk_value AND review_summary.store_id = 1 AND review_summary.entity_type = (SELECT `review_entity`.`entity_id` FROM `review_entity` WHERE (entity_code = 'product')) LEFT JOIN `cataloginventory_stock_status` AS `stock_status` ON e.entity_id = stock_status.product_id AND stock_status.website_id = 0 LEFT JOIN (SELECT `cpsl`.`parent_id`, MAX(stock_child.stock_status) AS `max_stock` FROM `catalog_product_super_link` AS `cpsl` LEFT JOIN `cataloginventory_stock_status` AS `stock_child` ON cpsl.product_id = stock_child.product_id AND stock_child.website_id = 0 GROUP BY `cpsl`.`parent_id`) AS `config_stock` ON e.entity_id = config_stock.parent_id ORDER BY CASE WHEN e.type_id = "configurable" THEN IFNULL(config_stock.max_stock, 0) ELSE IFNULL(stock_status.stock_status, 0) END DESC
First 20 Products (Stock Status Check):
IN STOCK: 1 |
OUT OF STOCK: 0
ID | SKU | Name | Stock Status |
---|---|---|---|
2088 | 273207820012 | Funny Garden Flag Roses Are Red So Is My Wine Doub | IN STOCK (1) |
Quick Fix - Add this to your theme's catalog_category_view.xml:
<referenceBlock name="category.products.list"> <action method="setData"> <argument name="sort_by" xsi:type="string">stock_status</argument> </action> </referenceBlock>