我们创建了一个名为Courses的高级产品选项。它包含我们希望用户在订购产品时输入信息的所有字段。
我们有一个外部流程,使用这个缩短的代码将我们的课程导入我们的商店: ($ data包含要插入的课程信息。)
$sku = $data['EventCode'];
$productId = Mage::getModel('catalog/product')->getIdBySku($sku);
if(!$productId) {
$product = Mage::getModel('catalog/product');
$product->setWebsiteIds(array(1));
$product->setData('entity_type_id', '10');
$product->setData('attribute_set_id', 4);
$product->setData('type_id', 'virtual');
$product->setData('created_at', strtotime('now'));
$product->setData('updated_at', strtotime('now'));
$product->setTaxClassId(1);
$product->setStatus(1);
$product->setData('manage_stock', 1);
$product->setData('visibility', 1);
$product->setData('has_options', 0); // If this product has options, set to 1
$product->setStockData(array('is_in_stock' => 1));
} else {
// Product was found, so load it so it can be updated.
$product = Mage::getModel('catalog/product')->load($productId);
} // if(!$productId)
$ename = "Unknown course name";
$product->setName($ename);
$product->setPrice($data['Price']);
$product->setDescription('Course Item');
$product->setShortDescription('Course Item');
$product->setData('is_online_course', ($data['LocState'] == 'OL' ? 1 : 0));
$product->setSku($sku);
$cat_id[] = 9;
$product->setData('category_ids', $cat_id);
$product->save();
如何设置每个产品以使用上述代码中的高级选项课程? 注意:课程中的所有选项都是必需的。
答案 0 :(得分:0)
您可以使用产品属性API。
<?php
$proxy = new SoapClient('http://domain/api/soap/?wsdl');
$sesId = $proxy->login('apiUser', 'apiKey');
$attributeSet = $proxy->call($sessId, 'product_attribute_set.list');
$attributeOptions = $proxy->call($sessId, 'product_attribute.options', array('attribute_id'=>'PRODUCT_ATTRIBUTE_INT_ID'));
// change PRODUCT_ATTRIBUTE_INT_ID with your attribute id
?>