3

从可配置产品中获取一些数据时出现问题,基本上“标准”下拉选择菜单似乎在我的产品页面上正常选择了一些数据。

我正在用覆盖做一些繁琐的事情,我将使用 jQuery .val() 函数来“控制”这些选择选项。

.val() 函数需要使用标签“值”字段。

现在我不知道在获取可配置的产品信息时如何提取这个值......

我正在提取有关可配置产品的信息,如下所示:

    $attrs  = $_product->getTypeInstance(true)->getConfigurableAttributesAsArray($_product);
    foreach($attrs as $attr) {
        $options = $attr['values'];
        foreach($options as $option) {
            echo "<p class='swatchie' id='".$attr['attribute_id']."' title='".$attr[]."'>{$option['store_label']}</p><br />";
        }
    }

如您所见,标题中的 attr 是空白的,因为这是我需要提取选项值的地方。为选项框提供的 html magento 如下所示:

      <option value="">Choose an Option...</option><option value="41" price="0">King</option><option value="42" price="540">Super King +£540.00</option></select>

我想我已经找到了我需要的价值所在的“位置”,

app/code/core/mage/catalog/model/resource/product/type/configurable/attribute/collection.php

第 258 行,

                            $values[$item->getId() . ':' . $option['value']] = array(
                                'product_super_attribute_id' => $item->getId(),
                                'value_index'                => $option['value'],

价值指数是我认为我想要的,但不知道如何掌握它

关于如何彻底解决这个问题的任何想法?

4

1 回答 1

1

使用firebug查看名为'spConfig'的变量的结构,可以找到可配置产品的数据。

请注意,jQuery().val() 不会触发默认 Magento 使用原型定义的选择动作。因此,您可以另外通过原型触发更改操作。

于 2012-07-20T05:29:27.117 回答