2013-02-03 26 views
1

我想添加具有唯一标识的自定义选项到产品。我已经使用这个代码添加一些自定义选项的产品,其做工精细如何通过具有唯一选项ID的代码在magento中添加自定义选项?

$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。

有什么想法?

回答

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); 
相关问题