开发者问题收集

从 Magento 2.2.4 迁移到 Magento 2.4.0 后,产品未显示在类别页面上

2020-10-22
1379

我已将 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)"
1个回答

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

尝试此处解释的解决方案 - https://magento.stackexchange.com/a/322623/36384

Michigan Websites
2021-03-20