您在处理可配置产品时遇到了问题,基本上在我的产品页面上,“标准”下拉选择菜单似乎正常选择一些内容。
我正在使用一个覆盖层进行一些琐碎的操作,并将使用jQuery的.val()函数“控制”这些选择选项。
.val()函数需要获取标签的'value'属性。
现在,我无法找到如何在获取可配置产品信息时获取此值...
我正在按照以下方式获取有关可配置产品的信息:
$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为空,这是我需要提取选项值的地方。Magento为选项框提供的HTML如下:
<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'],
我认为我想要的是价值指数,但我不知道如何获取它。你有什么想法如何实现这一点吗?