2

この断片化されたコードが magento 1.7 で製品を作成しないのはなぜですか?

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();  
    }

}

エラーはありません。

アップデート

次のコードを使用して 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();

どうして?!?!?

ありがとう

4

2 に答える 2

1

内部の try ブロックをラップする$product->save();と、エラーが発生した場合に何が問題なのかがわかります。

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

エラーがある場合は、ここに貼り付けます。

于 2013-04-30T09:19:14.560 に答える