#magento
#magento
Вопрос:
Мне нужно создать пользовательский фильтр для ProductCollection на основе определенного тега. Итак, давайте предположим, что у меня есть следующая ProductCollection:
<pre>
$collection_featured_products = Mage::getModel('catalog/product')->getCollection()
->addCategoryFilter(Mage::registry('current_category'))
->addAttributeToSelect('*')
->addAttributeToFilter('featured_product', 1);
</pre>
Или коллекцию продуктов со страницы списка продуктов:
$_productCollection = $this->getLoadedProductCollection() ->addAttributeToSelect('местоположение'); $_helper = $this->helper('каталог/ вывод');
Как я могу добавить фильтр по определенному тегу, чтобы получить все продукты, содержащие этот тег. Если я не могу выполнить фильтрацию в ProductCollection, возможно, я могу выполнить объединение с таблицей тегов?! Пожалуйста, приведите пример, если true.
PS: если вам нужно. У меня Magento версии 1.5.0.1
Спасибо за добавление.!
Ответ №1:
$tagId = 3; //Mage::getModel('tag/tag')->loadByName($tagName)->getId();
$products = Mage::getResourceModel('tag/product_collection')
->addAttributeToSelect('sku')
->addAttributeToSelect('name')
->addTagFilter($tagId);
print_r($products->getData());