2012-03-19 64 views
3

我正在使用Magento Community Edition ver。 1.6.2.0。以編程方式創建產品時無法設置價格,setTaxClassId和setWeight

我想添加一個簡單的產品使用Varien數據收集模型(而不是Api)。

產品正在創建中,但未設置價格,稅級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(); 

任何幫助,不勝感激!

親切的問候,

詹姆斯

+0

確保您還沒有禁用任何稅收模塊。 – sulabh 2012-03-19 10:35:02

回答

7

的Bug

$product->setType('Simple Product'); 

更換

$product->setTypeId('simple'); 

現在價格isset。 因爲magento中的價格取決於產品類型。

+0

謝謝Sergy,這個解決方案是現貨! – seavers 2012-03-19 11:13:53

+0

你救了我的命(y)謝謝 – 2015-08-12 10:18:46

0

不要使用:

$product->setType('Simple Product'); 

它不會設置產品其實......一直沒有工作了一段時間... 如上使用說:

$product->setTypeId('simple') 

這將實際設置類型...因爲'簡單'已被定義爲法師/目錄中的常數...但不是'簡單產品'...

0

如上所述設置$product->setType('Simple');將解決你的問題。就像它只是我的一樣。