2014-01-23 148 views
3

我正在做一個以編程方式添加Magento產品的項目。以下是代碼段以編程方式創建Magento產品

try{ 
    //create new product 
    $newProduct = new Mage_Catalog_Model_Product(); 
    $newProduct->setAttributeSetId(9) 
       ->setTypeId('simple') 
       ->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH) 
       ->setTaxClassId(2) 
       ->setCreatedAt(strtotime('now')) 
       ->setName($data[0]) 
       ->setSku($data[1]) 
       ->setWeight($data[2]) 
       ->setStatus($data[3]) 
       ->setPrice($data[4]) 
       ->setCategoryIds(explode(',',$data[5])) 
       ->setWebsiteIds(explode(',',$data[6])) 
       ->setDescription($data[7]) 
       ->setShortDescription($data[8]) 
           .... 
       ->setFreeGroundShipping($data[18]) 
       ->setMetaTitle($data[19]) 
       ->setMetaKeyword($data[20]) 
       ->setMetaDescription($data[21]) 
       ->setStockData(array(
            'manage_stock'=>0, 
            'min_sale_qty'=>$data[22], 
            'max_sale_qty'=>$data[23])) 
       ->setSetupFee($data[24]) 
       ->setsetupCost($data[25]); 
    $newProduct->save();     
}catch(Exception $e){ 
    $result['status'] = 3; 
    $result['message'] = 'There is an ERROR happened! NOT ALL products are created! Error:'.$e->getMessage(); 
    echo json_encode($result); 
    return; 
} 

這裏談到的問題:執行代碼後,我又回到了Magento的管理產品,該產品已經建立,但一些「存儲視圖」的屬性是空的!我進入數據庫,發現所有屬性都有值。

有沒有人有任何想法如何使屬性顯示?非常感謝!

+0

屬性是否填充在默認視圖中?或者所有視圖/網站的屬性都是空的? –

+0

它們對於默認存儲視圖爲空。 – CharlesDou

回答

8

在添加產品之前將您的商店設置爲管理員。

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

嘿,那有用!!這讓我困擾了整整一天!非常感謝。 – CharlesDou

+0

很高興我能幫到你。 –

相關問題