2013-04-30 141 views
2

爲什麼這種代碼的剪切不會在magento 1.7中創建產品?在1.7版本中以編程方式創建Magento產品

class MyCompany_Catalogimporter_Model_Mysql4_Importer extends Mage_Core_Model_Mysql4_Abstract 
{ 
    public function _construct() 
    { 
     $this->_init('catalogimporter/catalogimporter', 'catalogimporter_id'); 
    } 

    public function uploadAndImport(Varien_Object $object){ 

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

     $product->setSku('pro12'); 
     $product->setAttributeSetId(9); 
     $product->setTypeId('simple'); 
     $product->setName('Product title'); 
     $product->setCategoryIds(array(7)); 
     $product->setWebsiteIDs(array(1)); 
     $product->setDescription('Product Full description'); 
     $product->setShortDescription('Product Short description'); 
     $product->setPrice(250.00); 
     $product->setWeight(30.00); 
     $product->setVisibility(4); 
     $product->setStatus(1); 
     $product->setTaxClassId(0); 
     $product->setStockData(array(
      'is_in_stock' => 1, 
      'qty' => 20 
     )); 
     $product->setCreatedAt(strtotime('now')); 

     try { 
      $product->save(); 
     } 
     catch (Exception $e) { 
      Mage::log($e->getMessage()); //check your var/log/system.log for error 
     } 

     echo "saved"; 
     die(); 
    } 

} 

有沒有錯誤!

UPDATE

如果我創建Magento的根一個簡單的文件與此下面的代碼,它的工作原理,以及:

require_once('app/Mage.php'); 
Mage::app(); 

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


$product->setSku('pro111'); 
$product->setAttributeSetId(9); 
$product->setTypeId('simple'); 
$product->setName('Product title'); 
$product->setCategoryIds(array(7)); 
$product->setWebsiteIDs(array(1)); 
$product->setDescription('Product Full description'); 
$product->setShortDescription('Product Short description'); 
$product->setPrice(250.00); 
$product->setWeight(30.00); 
$product->setVisibility(4); 
$product->setStatus(1); 
$product->setTaxClassId(0); 
$product->setStockData(array(
    'is_in_stock' => 1, 
    'qty' => 20 
)); 
$product->setCreatedAt(strtotime('now')); 
$product->save(); 

爲什麼?!?!?

感謝

+0

看起來很好,你在哪裏執行這個?它是在一個模塊中,還是獨立的腳本?你可以發佈完整的腳本嗎? – Andrew 2013-04-30 08:53:20

+0

嗨安德魯感謝您的回覆。該腳本位於模塊內。該代碼正確執行沒有任何錯誤,我不明白爲什麼它不工作。 – Michelangelo 2013-04-30 09:52:07

回答

1

包裝你$product->save(); try塊內,會給你什麼錯誤,如果有任何錯誤的想法。

try { 
    $product->save(); 
} 
catch (Exception $e) { 
    Mage::log($e->getMessage()); //check your var/log/system.log for error 
} 

粘貼這裏的錯誤,如果有的話。

0

我遇到了一個類似於您的問題,在發現了一些令人頭疼的問題後,我發現它存在重複的SKU值問題。

每次我嘗試用編程的方式創建一個產品,SKU已經在我的數據庫中,沒有erros(!),也沒有新產品。

相關問題