{Magento}高级选项创建如何设置每个产品的代码

pkbketx9  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(98)

我们创建了一个名为“课程”的高级产品选项。它包含我们希望用户在订购产品时输入信息的所有字段。
我们有一个外部流程,它使用以下缩短代码将我们的课程导入到我们的商店:($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();

如何将每个产品设置为使用上面代码中的高级选项Courses?注意:课程中的所有选项都是必需的。

9gm1akwq

9gm1akwq1#

您可以使用产品属性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

?>

相关问题