我想在magento中获取产品集合。因为我使用了一些代码,但我认为这些代码不是我需要的。我想获得属性base的集合。我得到了一些产品,但它与之不匹配那些产品是从该属性的预先结果中过滤出来的。从我的收集和提前搜索结果中得到不同的结果。此外,产品网址无效。可能有人知道问题出在哪里?提前谢谢。我的代码是:
<?php $collection = Mage::getModel('catalog/product')
->getCollection()->addAttributeToSelect('*')
->addFieldToFilter(array(
array('attribute'=>'manufacturer','eq'=>'23'),
));
foreach ($collection as $product) {
?>
<div class="brand_name">
<p>Audi</p>
<a href="<?php echo $product->getProductUrl();?>"><?php echo substr($product->getName(),0,10);?></a>
</div>
<?php } ?>
答案 0 :(得分:1)
您已在字段中使用2 array
进行过滤。试一试。
<?php $collection = Mage::getModel('catalog/product')
->getCollection()->addAttributeToSelect('*')
->addFieldToFilter('attribute'=>'manufacturer','eq'=>'23');
答案 1 :(得分:0)
它应该正常工作:
$attrToSelect = '*'; // or Mage::getSingleton('catalog/config')->getProductAttributes();
$collection = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect($attrToSelect)
->addAttributeToFilter('manufacturer', 23)
;
foreach ($collection as $product) {
echo $product->getProductUrl();
}
同时检入admin - Catalog-&gt; Attributes-&gt; Manage Attributes - 用于产品列表中设置是。
答案 2 :(得分:-1)
请使用addAttributeToFilter('manufucture',23)
而不是
adfieldtofilter