您好我正在我需要从前端添加产品的网站上工作,因为我使用以下代码
<?php //$product = Mage::getModel('catalog/product');
$product = new Mage_Catalog_Model_Product();
echo time();
// Build the product
$product->setAttributeSetId(4);// #4 is for default
$product->setTypeId('simple');
$product->setName('Some cool product name');
$product->setDescription('Full description here');
$product->setShortDescription('Short description here');
$product->setSku(2);
$product->setWeight(4.0000);
$product->setStatus(1);
$product->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH);//4
print_r(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH);
$product->setPrice(39.99);// # Set some price
$product->setTaxClassId(0);// # default tax class
$product->setStockData(array(
'is_in_stock' => 1,
'qty' => 99999
));
$product->setCategoryIds(array(3));// # some cat id's,
$product->setWebsiteIDs(array(1));// # Website id, 1 is default
//Default Magento attribute
$product->setCreatedAt(strtotime('now'));
// Add three image sizes to media gallery
$mediaArray = array(
'thumbnail' => "me.jpg",
'small_image' => "me.jpg",
'image' => "me.jpg",
);
// Remove unset images, add image to gallery if exists
$importDir = Mage::getBaseDir('media') . DS . 'import/';
foreach($mediaArray as $imageType => $fileName) {
$filePath = $importDir.$fileName;
if ( file_exists($filePath) ) {
try {
$product->addImageToMediaGallery($filePath, $imageType, false);
} catch (Exception $e) {
echo $e->getMessage();
}
} else {
echo "Product does not have an image or the path is incorrect. Path was: {$filePath}<br/>";
}
}
//print_r($product);
try {
$product->save();
echo "Product Created";
}
catch (Exception $ex) {
//Handle the error
echo "Product Creation Failed";
}
?>
这很好,但有一个问题 它不会将图像设置为基本默认和小图像。
它添加了产品的图像,但是图像前面的复选框 未被选中。我需要检查方框。请告诉我在哪里做错了。
感谢
答案 0 :(得分:1)
添加
法师::应用程序() - &GT; setCurrentStore(Mage_Core_Model_App :: ADMIN_STORE_ID);
之前
foreach($ mediaArray as $ imageType =&gt; $ fileName){