首页 > 解决方案 > 从 Magento 2.2.4 迁移到 Magento 2.4.0 后产品未显示在类别页面上

问题描述

我已将Magento 2.2.4更新为Magento 2.4.0。之后产品不会显示在类别页面上。请注意,当我搜索产品时,产品详情页面正在打开。

请看截图:

在此处输入图像描述

我尝试过索引,创建库存视图,尝试创建新产品和类别,库存也很好,产品也分配到网站。弹性搜索也根据需要进行配置。

我还尝试打印以打印ListProduct.php上的集合查询

我明白了

"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`, `stock_status_index`.`stock_status` AS `is_salable` 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')) INNER JOIN `cataloginventory_stock_status` AS `stock_status_index` ON e.entity_id = stock_status_index.product_id WHERE (NULL)"

标签: magento2

解决方案


我遇到了您描述的相同问题,尝试了您概述的相同步骤,追踪了相同的集合查询。最终原因是第三方扩展添加的产品属性,该属性配置不正确。

尝试这里解释的解决方案 — https://magento.stackexchange.com/a/322623/36384


推荐阅读