MDVA-32634 patch: move category in hierarchy url_path wrong

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.

Affected products and versions

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

NOTE
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 Quality Patches Tool: Search for patches page. Use the patch ID as a search keyword to locate the patch.

Issue

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:

  1. 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

  2. Verify category [ url_path ] attribute [ id: 120 ] for value assignment in [ catalog_category_entity_varchar ] table using the following query:

    code language-sql
    SELECT * FROM catalog_category_entity_varchar WHERE attribute_id = 120 ORDER BY value_id DESC LIMIT 4;
    

    It should give you the following result:

    code language-sql
    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.

  3. 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

  4. Check the [ catalog_category_entity_varchar ] table using the following query:

    code language-sql
    SELECT * FROM catalog_category_entity_varchar WHERE attribute_id = 120 ORDER BY value_id DESC LIMIT 16;
    

Expected results:

The url_path assigned to all store scope [ 0 ] should also update with the new path.

Actual results:

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.

Apply the patch

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.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a