The MDVA-32634 patch solves the issue where the url_path of the catalog category does not change after moving the category in the hierarchy. This patch is available when the Quality Patches Tool (QPT) 1.0.16 is installed. Please note that the issue is scheduled to be fixed in Adobe Commerce 2.4.3.
The patch is created for Adobe Commerce version:
Adobe Commerce on cloud infrastructure 2.3.4-p2
Compatible with Adobe Commerce versions:
Adobe Commerce on cloud infrastructure and Adobe Commerce on-premises 2.3.1 - 2.4.1
The patch might become applicable to other versions with new Quality Patches Tool releases. To check if the patch is compatible with your Adobe Commerce version, update the
magento/quality-patches package to the latest version and check the compatibility on the QPT landing page. Use the patch ID as a search keyword to locate the patch.
Moving a catalog category in the hierarchy results in an incorrect url_path. The url_path of the category assigned to the default store scope [ id:0 ] remains unchanged after moving the category in the hierarchy.
Steps to reproduce:
Log in to the Commerce Admin. Create the following category structure under the root category: move-cat sub-move-cat sub-move-cat2 new-cat-move
Verify category [ url_path ] attribute [ id: 120 ] for value assignment in [ catalog_category_entity_varchar ] table using the following query:
SELECT * FROM catalog_category_entity_varchar WHERE attribute_id = 120 ORDER BY value_id DESC LIMIT 4;
It should give you the following result:
MariaDB [m24dev]> SELECT * FROM catalog_category_entity_varchar WHERE attribute_id = 120 ORDER BY value_id DESC LIMIT 4;
[ url_path ] values were generated and assigned to All Store scope [ 0 ]. This is correct comparing to an instance without B2B.
Go to backend category list, drag [ move-cat ], and drop it in to [ new-cat-move ]. Now the category should look like: new-cat-move move-cat sub-move-cat sub-move-cat2
Check the [ catalog_category_entity_varchar ] table using the following query:
SELECT * FROM catalog_category_entity_varchar WHERE attribute_id = 120 ORDER BY value_id DESC LIMIT 16;
The url_path assigned to all store scope [ 0 ] should also update with the new path.
The url_path assigned to all store scope [ 0 ] remains unchanged, even though there is no such path available after the move. Also, it has new url_path values created for each store.
To apply individual patches, use the following links depending on your deployment method:
To learn more about Quality Patches Tool, refer to:
For info about other patches available in QPT, refer to the Patches available in QPT in our developer documentation.