Magento和可配置产品属性

7

我有一个显示产品自定义属性的问题。 我已经通过谷歌阅读了所有资源,但仍然没有成功。 问题是,我必须在类别网格和列表视图中显示可配置产品的尺寸属性。 谷歌上的每个解决方案都建议类似于

$_product->getAttributeText('size')

我最终只得到了一个字符串 - "S"或"M",而不是一个数组。如何在不太麻烦的情况下获取属于特定可配置产品的所有简单产品的所有可能尺寸?

更新

在使用Joseph Mastey提出的解决方案后,我遇到了另一个问题。我设法显示给定属性的所有可能选项,但现在我需要仅显示那些可购买的选项。例如,如果T恤尺寸L缺货或已禁用,则不应显示L选项。我该如何解决这个问题?


你曾经能否为此想出解决方案?我也遇到了同样的问题。 - Luke
1个回答

18

当处理可配置产品(或任何时候处理仅适用于一种产品类型的概念,如可配置属性),您可能会使用 getTypeInstance 进行操作。请参见下面,我获取产品的可配置属性,然后找到尺寸属性。如果需要,您也可以遍历每个可配置属性。或者如果尺寸是唯一的可配置属性,则可以跳过该 if()

$attrs  = $_product->getTypeInstance(true)->getConfigurableAttributesAsArray($_product);
foreach($attrs as $attr) {
    if(0 == strcmp("size", $attr['attribute_code'])) {
        $options    = $attr['values'];
        foreach($options as $option) {
            print "{$option['store_label']}<br />";
        }
    }
}

希望能帮到你!谢谢,

Joe


非常感谢您的帮助。只有一个简单的问题,必须使用 $_product 参数调用 getConfigurableAttributesAsArray 函数。 - artega

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接