Skip to content

Commit a34f82a

Browse files
ENGCOM-2302: [Forwardport] Fix for GitHub issue #14035. #16742
- Merge Pull Request #16742 from eduard13/magento2:2.3-develop-port-14048 - Merged commits: 1. 9fb7323 2. 69c9a63 3. 1128446
2 parents ce5eacd + 1128446 commit a34f82a

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

app/code/Magento/Catalog/Model/Api/SearchCriteria/CollectionProcessor/FilterProcessor/ProductCategoryFilter.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,13 @@ class ProductCategoryFilter implements CustomFilterInterface
2121
*/
2222
public function apply(Filter $filter, AbstractDb $collection)
2323
{
24-
$conditionType = $filter->getConditionType() ?: 'eq';
25-
$categoryFilter = [$conditionType => [$filter->getValue()]];
24+
$value = $filter->getValue();
25+
$conditionType = $filter->getConditionType() ?: 'in';
26+
$filterValue = [$value];
27+
if (($conditionType === 'in' || $conditionType === 'nin') && is_string($value)) {
28+
$filterValue = explode(',', $value);
29+
}
30+
$categoryFilter = [$conditionType => $filterValue];
2631

2732
/** @var Collection $collection */
2833
$collection->addCategoriesFilter($categoryFilter);

app/code/Magento/Catalog/Test/Unit/Model/Api/SearchCriteria/CollectionProcessor/FilterProcessor/ProductCategoryFilterTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public function testApplyWithoutCondition()
6666

6767
$collectionMock->expects($this->once())
6868
->method('addCategoriesFilter')
69-
->with(['eq' => ['value']]);
69+
->with(['in' => ['value']]);
7070

7171
$this->assertTrue($this->model->apply($filterMock, $collectionMock));
7272
}

0 commit comments

Comments
 (0)