2009-12-24 70 views
0

我创建了属性; “按商店类型”和“按颜色商店”。他们在分层导航和扩展搜索中很好地工作。我设计了图形并将它们放置在主页上,并希望链接到相应属性的指定产品。一直在寻找网络,但迄今为止一直不成功。如何将链接指向属性集?

如果没有直接的可能方法,下一个方法是创建cms页面并直接链接到它。如何显示分配给特定属性的产品?特别是“多选”类型。

我知道你们更喜欢至少一些尝试,但如前所述,一直在玩它没有运气。我很感激某种起点。

节日快乐!

编辑:我能够把这个代码放在一起,列出所有分配给所述类别ID的产品。试图过滤它只显示具有分配相同的属性没有运气的产品。有任何想法吗?

<?php 
$cat_id = 123; // category id 
$category = Mage::getModel('catalog/category')->load($cat_id); 

$_products = $category->getProductCollection() 
->addAttributeToSelect('shop_by_color'); 

if (($this->getProductCollection()) && $_products->getSize()): ?> 

顺便提一下,$cat_id是根的子类别。有没有更容易的方式指向它,而不是使用直接ID号码?

回答

0

我不知道,如果这就是你正在寻找确切的答案,但你应该改变

$_products = $category->getProductCollection()->addAttributeToSelect('shop_by_color'); 

$_products = $category->getProductCollection() 
->addAttributeToSelect('shop_by_color') 
->addAttributeToFilter(array('attribute'=>'shop_by_color', 'in'=>array('red', 'blue', ...))); 

,使其仅列出产品,他们的shop_by_color是一个给定的常量。这取决于你如何从url路径或查询字符串中获取这些内容,并且为动态页面提供基础,以显示仅与输入颜色匹配的产品。

+0

谢谢Zeograd。我尝试了你的方法,对它进行了一些处理,并且出于某种原因不断得到“无效的属性错误”。它不识别'shop_by_color'。我会在一天结束时回到它,并让我知道如果我拿出一个解决方案。任何建议,将不胜感激。 – monocat 2009-12-28 18:31:05

+0

我建议调试生成的SQL与 Mage :: log($ _ products-> getSelect() - > __ toString()); 如果错误不是太早抛出。 – Zeograd 2009-12-28 18:50:10