Magento - >如何列出具有相同多重选择属性的产品?

时间:2010-01-04 02:11:55

标签: php filter magento e-commerce attributes

我正在尝试检索具有相同属性的产品。特别是多选类型。似乎基本方法不起作用。只选择“名称”属性,我会列出所有产品。当我尝试过滤“shop_by_color”时,它会过滤掉,但不是完全过滤掉。不知道为什么它会删除一些并留下其他人,即使它们是错误的。任何提示赞赏。

<?php 

$model = Mage::getModel('catalog/product');

$collection = $model->getCollection();
$collection->addAttributeToSelect('name');
$collection->addAttributeToFilter('shop_by_color'); // multiple select attribute
$collection->addFieldToFilter(array(array('attribute'=>'shop_by_color','finset'=>array('Yellow, White'),
)));

$collection->load();

?>

<ul>
<?php foreach($collection as $product) : ?>
<li><a href="<?php echo $product->getProductUrl() ?>"><?php echo $product->getName() ?></a></li>            
<?php endforeach; ?> 
</ul>

2 个答案:

答案 0 :(得分:1)

嗨我不确定你的语法我以前从未见过这种事。

<ul>
<?php foreach($collection as $product) : ?>
<li><a href="<?php echo $product->getProductUrl() ?>"><?php echo $product->getName()
 ?></a></li>            
<?php endforeach; ?> 
</ul>

不应该......

<ul>
<?php foreach($collection as $product) { ?>
<li><a href="<?php echo $product->getProductUrl() ?>"><?php echo $product->getName()
 ?></a></li>            
<?php } ?> 
</ul>

DC

答案 1 :(得分:0)

<?php 
 $_productCollection=$this->getLoadedProductCollection();
 $_productCollection->clear()
->addAttributeToSelect('*')
->addAttributeToFilter('type_id', array('eq' => 'simple'))
->addAttributeToSort('name', 'ASC')
->addAttributeToSort('created_at', 'ASC')
->load();?>
列表页面上的

请使用此类型的集合过滤器,它工作正常。