Magento和可配置的产品属性

art*_*ega 7 php magento

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

$_product->getAttributeText('size')
Run Code Online (Sandbox Code Playgroud)

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

UPDATE

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

Jos*_*tey 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 />";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!谢谢,