Magento 2 - Фильтр по нескольким категориям в коллекции товаров
У меня есть коллекция продуктов $collection
, которая создана Magento\Catalog\Model\ResourceModel\Product\Collection
Код:
$collection = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\Collection');
$collection->addAttributeToSelect('*');
$collection->addAttributeToFilter('status', array('eq' => \Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED));
Как я могу добавить в него фильтр нескольких категорий?
3
1 answers
Прежде всего, не используйте диспетчер объектов, создайте свой объект из constructor
$protected $collection;
public function __construct(
...
\Magento\Catalog\Model\ResourceModel\Product\Collection $collection
...
)
{
...
$this->collection = $collection;
...
}
Для вашего фильтра категорий используйте следующее:
$categories = [12,13,14]; //Category ids in array
$collection->addCategoriesFilter(array('in' => $categories));
Коллекция присоединится к таблице категорий и добавит ваш фильтр
0
Author: Shoaib Munir, 2020-01-01 04:52:32