Magento和可配置的产品属性

时间:2010-04-30 06:31:48

标签: php magento

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

$_product->getAttributeText('size')

但我最后只是一个字符串 - “S”或“M”而不是数组。 如何轻松获取属于特定可配置产品的所有可能尺寸的所有简单产品?

更新

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

1 个答案:

答案 0 :(得分:18)

在处理可配置产品时(或者您只处理一种类型产品的概念时,可配置属性),您可能正在使用getTypeInstance。请参阅下文,我获取产品的可配置属性,然后找到适合大小的属性。如果需要,您还可以运行每个可配置属性。或者,如果size是唯一可配置的属性,则只需跳过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 />";
        }
    }
}

希望有所帮助!谢谢,