Question

Magento 2.3.3

This is my code:

$_productCollection = $block->getLoadedProductCollection();
$values = [66];
$conditionType = "in";
$_productCollection->addCategoriesFilter([$conditionType => $values]);

I am trying to add a category filter to the collection, but it does not work. Any ideas why?

Thanks

Solution looks like this:

$_productCollection = $block->getLoadedProductCollection();
$_productCollection->clear();
$values = "66";
$conditionType = "in";
$_productCollection->addCategoriesFilter([$conditionType => $values])->load();
Was it helpful?

Solution

Do not use array. Just string would be fine

like this:

$_productCollection = $block->getLoadedProductCollection()->clear();
$values = "66";
$conditionType = "in";
$_productCollection->addCategoriesFilter([$conditionType => $values]);

You can also send multiple IDs like this:

$_productCollection = $block->getLoadedProductCollection()->clear();
$values = "66,67,68";
$conditionType = "in";
$_productCollection->addCategoriesFilter([$conditionType => $values]);
Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top