1

我想向产品添加具有唯一 ID 的自定义选项。我已经使用此代码向产品添加了一些自定义选项,它工作正常

 $options_print[$sku] = array(
                    'title' => 'Select Size',
                    'type' => 'drop_down',
                    'is_require' => 0,
                    'sort_order' => 0,
                    'values' => array()
                );
                $options_print[$sku]['values'][] = array(
                    'title' => '5',
                    'price' => 0.00,
                    'price_type' => 'fixed',
                    'sku' => '',
                    'sort_order' => '1'
                );
                $options_print[$sku]['values'][] = array(
                    'title' => '6',
                    'price' => 0.00,
                    'price_type' => 'fixed',
                    'sku' => '',
                    'sort_order' => '1'
                );

我的问题是,我想为下拉选项“选择大小”分配唯一的 ID,这样我就可以在需要时通过代码使用该 ID 检索它,但似乎没有分配“sku”或“option_id”的选项它。

Magento 会自动为其分配选项 ID,例如,

Array
(
    [label] => Select Size
    [value] => 10
    [print_value] => 10
    **[option_id] => 267**
    [option_type] => drop_down
    [option_value] => 729
    [custom_view] => 
)

我无法控制它,选项 id 会随着每个产品而变化,所以我很难根据它的 id 检索这个选项值。

任何想法?

4

1 回答 1

0
$productSku = $_product->getSku();
$product = Mage::getModel('catalog/product');
$productId = $product->getIdBySku( $productSku );

$product = Mage::getModel("catalog/product")->load($productId);

$attVal = $product->getOptions();

$optStr = "";

// loop through the options
foreach($attVal as $optionKey => $optionVal) {

    //$optStr .= "<br/>";

    //$optStr .= $optionVal->getTitle().": ";

    $optStr .= "<select style='display:block; clear:both;' name='options[".$optionVal->getId()."]'>";

    foreach($optionVal->getValues() as $valuesKey => $valuesVal) {
        $optStr .= "<option value='".$valuesVal->getId()."'>".$valuesVal->getTitle()."</option>";
    }

    $optStr .= "</select>";

}

echo($optStr );  
于 2013-11-22T07:48:04.410 回答