2013-04-30 103 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(!),也没有新产品。

相关问题