Fix store specific attribute label on GraphQL products aggregations query #1896
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When querying product aggregations using GraphQL, the returned attribute label is not always the correct one for the requested store view.
The issue is reproducible when the store views IDs are not consecutive.
Magento\Eav\Model\Entity\Attribute\AbstractAttribute::getFrontendLabels()
returns an array of labels, where the key is numeric, starting from 0, however,Smile\ElasticsuiteCatalogGraphQl\DataProvider\Product\LayeredNavigation\Builder\Attribute::build()
function is expecting the key to be the store id.To reproduce:
(don't forget to change the category ID if you want to query a specific category filter list)
Also, you should set the specific store code when querying a store view
The expected result should include the correct store specific label, however, because of array key missmatch, we get labels from different stores.