製品タグの配列があり、これらのタグが割り当てられているすべての製品を検索したいと考えています (IE は、タグ「大」および「赤」を持つすべての製品を返します)。現在、以下を使用していますが、期待どおりに動作しません。
$this->_productCollection = Mage::getResourceModel('tag/product_collection')
->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
->addStoreFilter(Mage::app()->getStore()->getId())
->addMinimalPrice()
->addUrlRewrite()
->setActiveFilter();
foreach ($tags as $tagName) {
$tagId = Mage::getModel('tag/tag')->loadByName($tagName)->getId();
$this->_productCollection->addTagFilter($tagId);
}
addTagFilter()
複数のタグではなく、一度しか機能しないようです。私も試してみました
$this->_productCollection->getSelect()->Where('relation.tag_id=?', $tagId);
ただし、複数を追加してWhere(relation.tag_id=?, $tagId)
も機能しないようです。