如何列出具有特定属性的产品?例如,如果Size是我的默认属性集中的属性。那我如何列出所有尺寸= 22的产品?
我正在搜索谷歌的答案,如果我发现任何答案,我会发布答案。
谢谢,
巴兰
答案 0 :(得分:1)
我刚才这样做了
获取商店ID:
$storeId = Mage::app()->getStore()->getId();
让所有产品过滤掉除尺寸
以外的所有产品$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToSelect('*')
->addAttributeToFilter("Size", "1");
然后只需在foreach循环中添加以下内容(这将遍历数组$ _productCollection)
foreach($_productCollection as $_product)
{
$attr = Mage::getResourceModel('catalog/product')->getAttributeRawValue($_product->getId(), 'Size', $storeId);
if($attr == '22')
{
//Echo names of the products
echo $_product->getName();
}
}
这样,您可以在没有严格的产品列表的情况下对产品列表做很多事情。因此,如果您愿意,您仍然可以添加名称,价格和更多属性。希望这有帮助!
答案 1 :(得分:0)
例如:
$storeId = Mage::app()->getStore()->getId();
$products = Mage::getResourceModel('catalog/product_collection');
$products->addAttributeToFilter(array(
array('attribute' => 'attribute_code', 'eq' => 22)))
->addAttributeToSelect('*')
->setStoreId($storeId)
->addStoreFilter($storeId)
->setOrder('name', 'desc');
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products);
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($products);
$this->setProductCollection($products);
对我来说这很好。
答案 2 :(得分:0)
我不认为目录产品是为此而制作的。最好的方法是在静态表(catalog_product_entity)中移动属性Size。然后,您将能够通过保持目录快速搜索大小。如果你想在不同的属性上做这个,我想你可以把它作为参数在集合中。但我不确定。