Magento 2 - 可配置产品的 min_price 和 max_price 为 0 且无法更改?

Magento 2 - Configurable product's min_price and max_price are 0 and can't be changed?

最近,我通过 CSV 将大约 40.000 个产品导入到 Magento 2 暂存环境(社区 2.4.1)。其中许多产品是可配置的产品(例如 table),附加有子产品(红色 table、绿色 table、...)。

导入后,我注意到我的价格排序和过滤工作不正常。我想出了 min_pricemax_price 列 table catalog_product_index_price 对于所有可配置产品都是“0”。与手动创建可配置产品不同,Magento 显然不会在 CSV 导入期间填充这些列。不确定是错误还是我的错误。

我需要为所有可配置产品修复 min_pricemax_price,以便过滤器和排序工作。我试过直接更新 catalog_product_index_price 中的列,但没有结果(只是在重新索引后变回 0)。我仍在深入研究 Magento 的数据库结构,但似乎找不到 min_pricemax_price[=31 的任何其他地方=]虽然被存储了。

我是不是漏掉了什么?

终于找到了

即使我的商店没有库存,我也不得不:

  • 将所有产品的 数量 设置为 > 0。
  • 将所有产品设置为“is_on_stock”。

显然 M2 中有一个错误(至少,我认为这是一个错误)导致索引器设置可配置产品的 min_pricemax_price 为零,以防其简单产品没有 Qtyis_on_stock设置。

也许这背后有一个原因,但对我来说,这完全没有意义。