製品を magento インストールに簡単にインポートできるようにするためのスクリプトを作成していますが、部分的に機能するようになりました。ただし、在庫数量や、在庫に関係するその他のもの、メタタイトル、説明、キーワードを追加する際に問題が発生しています。また、EAN と呼ばれるカスタム属性を追加することもできません。これは、何が機能し、何が機能しないかを理解するのに役立つようにコメントした私のコードです。
Mage::init();
$product = Mage::getModel('catalog/product');
$product->setSku($itemid);
$product->setName($name);
$product->setDescription($desc);
$product->setShortDescription($longname);
$product->setPrice($price);
$product->setTypeId($prodtype);
$product->setAttributeSetId($attributesetid); // need to look this up
$product->setCategoryIds($categorys); // need to look these up
$product->setWeight(10.0);
$product->setTaxClassId(2); // taxable goods
$product->setVisibility(4); // catalog, search
$product->setStatus(1); // enabled
//After this nothing is added
$product->setMetaTitle($name); //does not work
$product->setMetaDescription($longname); //does not work
$product->setMetaKeywords($keywords); //does not work
$product->setEan($ean); //custom variable, does not work
$product->setCreatedAt(strtotime('now')); //does not work
// assign product to the default website
$product->setWebsiteIds(array(Mage::app()->getStore(true)->getWebsite()->getId())); //This works
$count = 0;
foreach ($listOfImages as $imagePath) {
$mode = array();
if ($count == 0) {
$mode = array("thumbnail", "small_image", "image");
}
$product->addImageToMediaGallery($imagePath, $mode, false, false); //works!
$count++;
}
//This does not work at all
$stockData = Mage::getModel('cataloginventory/stock_item');
$stockData->assignProduct($product);
$stockData['qty'] = $stock;
if ($stock > 0) {
$stockData->setData('is_in_stock', 1);
} else {
$stockData->setData('is_in_stock', 0);
}
$stockData->setData('manage_stock', 1);
$stockData->setData('use_config_manage_stock', 1);
$stockData->setData('stock_id', 1);
$stockData->setData('store_id', array(Mage::app()->getStore(true)->getWebsite()->getId()));
$product->setStockData($stockData);
//Saving the product works
try {
$product->save();
} catch (Exception $ex) {
//Handle the error
print_r($ex);
}
ご協力いただきありがとうございます!