在以编程方式创建产品时无法setPrice,setTaxClassId和setWeight

sea*_*ers 3 magento

我正在使用Magento Community Edition版本.1.6.2.0.

我正在尝试使用Varien Data Collection模型(而不是Api)添加Simple产品.

正在创建产品,但未设置价格,税级ID和重量.

如果有人可以建议为什么没有设置这些特定的产品属性,我将不胜感激.

这是我的代码:

// instatiate Product
    $product = Mage::getModel('catalog/product');

    $product->setWebsiteIds(array(1));
    $product->setSku('99996');
    $product->setPrice(99.0000);
    $product->setAttributeSetId(4); 
    $product->setCategoryIds(array(2));
    $product->setType('Simple Product');
    $product->setName('Product Name6');
    $product->setDescription('The Product Description');
    $product->setShortDescription('Brief Description');
    $product->setStatus(1);    
    $product->setTaxClassId(2);
    $product->setWeight(1.0000);                
    $product->setCreatedAt(strtotime('now'));

    $product->save();

    $stockItem = Mage::getModel('cataloginventory/stock_item');
    $stockItem->loadByProduct($product->getId());    
    if (! $stockItem->getId()) {
        $stockItem->setProductId($product->getId())->setStockId(1);
    }
    $stockItem->setData('inventory_manage_stock_default', 1);
    $stockItem->setData('is_in_stock', 1);
    $stockItem->setData('qty', 10000);

    $stockItem->save();
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏!

亲切的问候,

詹姆士

Ser*_*gey 7


错误

$product->setType('Simple Product');
Run Code Online (Sandbox Code Playgroud)

用...来代替

$product->setTypeId('simple');
Run Code Online (Sandbox Code Playgroud)

现在价格已经确定.因为magento的价格取决于产品类型.