QUALITY PATCH

ACSD-51497: A customer is unable to sort a catalog page by a custom attribute of the type Dropdown

A customer is unable to sort a catalog page by a custom attribute of the type Dropdown. Quality patch ACSD-51497 for magento/module-elasticsearch applies to Magento Open Source and Adobe Commerce 2.3.7 to 2.4.6-p15.

Categories
Catalog/Product
Components
magento/module-elasticsearch
Origin
adobe-commerce-support
Since QPT
1.1.33

Issue

A customer is unable to sort a catalog page by a custom attribute of the type Dropdown.

Steps to reproduce

1. Create about six simple products and assign them to a single category. 1. Create a product attribute in order to add it as a sorting option on the listing pages. * Go to Admin > Stores > Attributes > Add New Attribute. * In the Properties tab, set the following: * Default Label = test * Catalog Input Type for Store Owner = Dropdown * Options: * first * second * third * fourth * In the Storefront Properties tab, set the following: * Used for sorting in product listing = Yes * Leave all the other options as Default. 1. Assign the test attribute to the Default attribute set in Admin > Stores > Attributes > Attribute Set. 1. Configure the products to have test attribute values. * SKU: s00001, test: fourth * SKU: s00002, test: third * SKU: s00003, test: second * SKU: s00004, test: first * SKU: s00005, test: fourth * SKU: s00006, test: third 1. Reindex and clear cache. 1. Go to the category on the storefront. 1. Sort by the test attribute.

Adobe's page lists 2.3.7 - 2.3.7-p4, 2.4.1 - 2.4.6-p1 as compatible; the versions below are resolved from the current QPT constraints and are the ones the tool will offer.

Install

Install the Quality Patches Tool with composer require magento/quality-patches, apply the prerequisites listed for all files applicable to your distribution and version first, then run vendor/bin/magento-patches apply ACSD-51497. On Cloud, add ACSD-51497 under stage.build.QUALITY_PATCHES in .magento.env.yaml.

For cweagans/composer-patches, choose a compatible version below and download the bundle. Copy its ACSD-51497/ folder into patches/composer/, merge composer.patches.json into composer.json, then run composer install. Bundle prerequisites the same way and list them first. Paths are relative to each package root, using the default -p1 level. Prefer local files when configuring composer-patches; a remote URL can change.

Patch files and compatible versions

Packages across compatible versions (1): magento/module-elasticsearch
Packages across compatible versions (1): magento/module-elasticsearch

magento/magento2-base >=2.3.7 <2.4.0 || >=2.4.1 <2.4.7

Magento Open Source
2.4.6-p15, 2.4.6-p14, 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p17, 2.4.5-p16, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p18, 2.4.4-p17, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7
Adobe Commerce
2.4.6-p15, 2.4.6-p14, 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p17, 2.4.5-p16, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p18, 2.4.4-p17, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7
Patch file
patches/os/ACSD-51497_2.4.5.patch
  • vendor/magento/module-elasticsearch/Model/Adapter/BatchDataMapper/ProductDataMapper.php

Sources

Łukasz Bajsarowicz
Built by

Łukasz Bajsarowicz, e-commerce architect

Magento and Adobe Commerce architecture, upgrades, performance and audits for merchants and agencies since 2015; magento.watch is the tooling I use on those projects.

Open source, maintained on weekends.