【问题标题】:How to direct link to an attribute set?如何直接链接到属性集?
【发布时间】:2009-12-24 07:57:07
【问题描述】:

我已经创建了属性; “按类型购物”和“按颜色购物”。它们在分层导航和扩展搜索中工作得很好。我设计了图形并将它们放在主页上,并希望链接到相应属性的指定产品。一直在网上搜索,但到目前为止没有成功。

如果没有直接可行的方法,下一个方法是创建 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 号?

【问题讨论】:

    标签: php magento e-commerce


    【解决方案1】:

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

    $_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 路径或查询字符串中取出,然后您就可以获得动态页面的基础,仅显示与输入颜色之一匹配的产品。

    【讨论】:

    • 感谢 Zeograd。我尝试了你的方法,做了一点工作,但由于某种原因不断出现“无效属性错误”。它无法识别“shop_by_color”。我会在一天结束时回复它,如果我提出解决方案,请告诉你。任何建议将不胜感激。
    • 我建议用 Mage::log($_products->getSelect()->__toString()); 调试生成的 sql如果错误没有过早抛出。
    猜你喜欢
    • 2011-01-11
    • 2019-09-26
    • 1970-01-01
    • 2012-04-30
    • 2015-02-12
    • 2018-02-08
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多