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 に答える