Magento在产品自定义选项中插入空白值

时间:2016-01-14 06:14:10

标签: php magento-1.9

我尝试在产品中实用地插入自定义选项。 我执行以下脚本来插入自定义选项

$product = Mage::getModel('catalog/product')->load(2040);

$optionData = array(
    'is_delete'         => 0,
    'is_require'        => true,
    'previous_group'    => '',
    'title'             => $product->getName(),
    'type'              => 'radio',
    'sort_order'        => 1,
    'values'            => array(
         array(
              'is_delete'     => 0,
              'title'         => 'Standard',
              'price_type'    => 'Fixed',
              'price'         => '0.0',
              'sku'           => '1',
              'option_type_id'=> -1,
         ),
         array(
                  'is_delete'     => 0,
                  'title'         => 'Large',
                  'price_type'    => 'Fixed',
                  'price'         => '50.0',
                  'sku'           => '1',
                  'option_type_id'=> -1,
         ),
         array(
                  'is_delete'     => 0,
                  'title'         => 'Extra Large',
                  'price_type'    => 'Fixed',
                  'price'         => '100.0',
                  'sku'           => '1',
                  'option_type_id'=> -1,
         )
    )
);

$product->setProductOptions(array($optionData));
$product->setCanSaveCustomOptions(1);
$product->save();

当我运行上面的代码时,它会插入自定义选项标题,但自定义选项价格插入为空。

以下是插入脚本运行后的自定义选项屏幕截图: enter image description here

1 个答案:

答案 0 :(得分:2)

我已经在磁电机中插入产品自定义选项的5个步骤。另请查看以下选项数据字段链接:

第1步:设置管理商店

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

第2步:加载产品

$product = Mage::getModel('catalog/product')->load($productID);

第3步:创建自定义选项数据阵列

$optionData = array(
            'title' => $product->getName(),
            'type' => 'radio',
            'is_required' => 1,
            'sort_order' => 0,
            'values' => array(
                array(
                    'title' => 'Standard',
                    'price' => $standardPrice, // $standardPrice value like 10.11 OR '10.11'
                    'price_type' => 'fixed',
                    'sku' => '',
                    'sort_order' => 0,
                ),
                array(
                    'title' => 'Premium',
                    'price' => $premiumPrice,
                    'price_type' => 'fixed',
                    'sku' => '',
                    'sort_order' => 0,
                ),
                array(
                    'title' => 'Deluxe',
                    'price' => $deluxePrice,
                    'price_type' => 'fixed',
                    'sku' => '',
                    'sort_order' => 0,
                )
            )
        );

第4步:设置产品选项数据

$product->setProductOptions(array($optionData));

第5步:保存产品

$product->setCanSaveCustomOptions(true);
$product->save();