MDVA-32634修补程序:层次结构url_path中的移动类别错误
MDVA-32634修补程序解决了在层次结构中移动类别后,目录类别的url_path未更改的问题。 安装Quality Patches Tool (QPT) 1.0.16后,即可使用此修补程序。 请注意,该问题计划在Adobe Commerce 2.4.3中修复。
受影响的产品和版本
为Adobe Commerce版本创建了修补程序:
云基础架构上的Adobe Commerce 2.3.4-p2
与Adobe Commerce版本兼容:
云基础架构上的Adobe Commerce和Adobe Commerce内部部署2.3.1 - 2.4.1
magento/quality-patches
包更新到最新版本,并在Quality Patches Tool:搜索修补程序页面上检查兼容性。 使用修补程序ID作为搜索关键字来查找修补程序。问题
在层次结构中移动目录类别会导致url_path不正确。 在层次结构中移动类别后,分配给默认存储作用域[ id:0 ]的类别的url_path保持不变。
重现步骤:
-
登录到Commerce管理员。 在根类别下创建以下类别结构: move-cat sub-move-cat sub-move-cat2 new-cat-move
-
使用以下查询验证[ catalog_category_entity_varchar ]表中值分配的类别[ url_path ]属性[ id: 120 ]:
code language-sql SELECT * FROM catalog_category_entity_varchar WHERE attribute_id = 120 ORDER BY value_id DESC LIMIT 4;
它应会为您提供以下结果:
code language-sql MariaDB [m24dev]> SELECT * FROM catalog_category_entity_varchar WHERE attribute_id = 120 ORDER BY value_id DESC LIMIT 4;
已生成[ url_path ]值并将其分配给所有存储范围[ 0 ]。 与不具有B2B的实例相比,这是正确的。
-
转到后端类别列表,将[ move-cat ]拖放到[ new-cat-move ]中。 现在,类别应该如下所示:new-cat-move-cat sub-move-cat sub-move-cat2
-
使用以下查询检查[ catalog_category_entity_varchar ]表:
code language-sql SELECT * FROM catalog_category_entity_varchar WHERE attribute_id = 120 ORDER BY value_id DESC LIMIT 16;
预期的结果:
分配给所有存储作用域[ 0 ]的url_path也应该使用新路径进行更新。
实际结果:
分配给所有存储作用域[ 0 ]的url_path保持不变,即使移动后没有此类路径可用。 此外,它还为每个存储创建了新的url_path值。
应用修补程序
要应用单独的修补程序,请根据您的部署方法使用以下链接:
- 在开发人员文档中,参阅Adobe Commerce或Magento Open Source内部部署: 软件更新指南>应用修补程序。
- 云基础架构上的Adobe Commerce:我们的开发人员文档中的升级和修补程序>应用修补程序。
相关阅读
要了解有关Quality Patches Tool的更多信息,请参阅:
- 已发布高质量修补程序工具:我们支持知识库中用于自助提供高质量修补程序的新工具。
- 使用我们的支持知识库中的Quality Patches Tool,检查是否有针对您的Adobe Commerce问题的修补程序。
有关QPT中提供的其他修补程序的信息,请参阅我们的开发人员文档中的QPT🔗中提供的修补程序。