Кто-нибудь знает, есть ли способ дважды запустить сбор товаров через фильтр категорий? У меня есть категория «Избранные», которая скрыта, и в которую я добавляю товары, чтобы их можно было использовать в качестве рекомендуемых товаров. В настоящее время я получаю свою коллекцию продуктов следующим образом:
$_productCollection = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('visibility', $visibility)
->addCategoryFilter('36');
$_productCollection->load();
Это прекрасно работает на домашней странице, но на страницах категорий мне нужно сначала отфильтровать результаты по текущей категории, а затем по избранной категории:
$_productCollection = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('visibility', $visibility)
->addCategoryFilter('15')
->addCategoryFilter('36');
$_productCollection->load();
К сожалению, кажется, что вы не можете выполнить фильтры двух категорий без редактирования основных файлов, что я не хочу делать.
Есть идеи как обойти это?
Я подумал, что мог бы, возможно, взять 2 набора продуктов отдельно, один отфильтрованный по текущей категории и один по избранной категории, а затем с помощью PHP stristr найти продукты, находящиеся в обоих, и использовать их, например
if (stristr($featProductCollection, $currProductCollection))
У кого-нибудь есть идеи? Я думаю, что мне нужно вернуть, возможно, только SKU продуктов, возможно, в списке через запятую. Но я не уверен в лучшем способе сделать это, и это кажется немного глупым.