Image Magento以编程方式为多店铺视图设置产品图像
在那里,我从一个助手函数动态创建一个产品。这创造了美好的未来。并将“图像工作正常”设置为默认存储视图。但对于多存储视图,图像未选择为“缩略图”、“小图像”或“图像”Image Magento以编程方式为多店铺视图设置产品图像,image,magento,product,Image,Magento,Product,在那里,我从一个助手函数动态创建一个产品。这创造了美好的未来。并将“图像工作正常”设置为默认存储视图。但对于多存储视图,图像未选择为“缩略图”、“小图像”或“图像” $product = new Mage_Catalog_Model_Product(); // Build the product //$product->setSku('pkg-sku-1'); $product->setAttributeSetId(4)
$product = new Mage_Catalog_Model_Product();
// Build the product
//$product->setSku('pkg-sku-1');
$product->setAttributeSetId(4); //default attribute-set
$product->setTypeId('simple');
$product->setName($pkg_data['pkg_name']);
$product->setCategoryIds(array(7)); # some cat id's, my is 7
$product->setWebsiteIDs(array(1)); # Website id, my is 1 (default frontend)
$product->setDescription('EventPackageForOrder');
$product->setShortDescription($pkg_id);
$product->setPrice($pkg_data['pkg_price']); # Set some price
//Default Magento attribute
$product->setWeight(4.0000);
$product->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE);
$product->setStatus(1);
$product->setTaxClassId(2); # Taxable goods
$product->setStockData(array(
'is_in_stock' => 1,
'qty' => 5
));
$im_url_path = Mage::getBaseUrl('media').'eventdiscpkgs/event_logo.jpeg';
$im_absolute_path = Mage::getBaseDir('media') . DS . 'eventdiscpkgs/event_logo.jpeg';
$product->setMediaGallery (array('images'=>array (), 'values'=>array ()));
$product->addImageToMediaGallery($im_absolute_path, array ('thumbnail'), false, false);
$product->addImageToMediaGallery($im_absolute_path, array ('small_image'), false, false);
$product->addImageToMediaGallery($im_absolute_path, array ('image'), false, false);
$product->setHasOptions(true);
$product->setCreatedAt(strtotime('now'));
try {
$product->save();
}
catch (Exception $ex) {
$ex->getMessage();
}
你知道我可以在哪里换车吗 尝试为每个店铺id分配图像:
foreach($product->getStoreIds() as $storeId) {
$product->setStoreId($storeId)
->setImage($im_absolute_path)
->setSmallImage($im_absolute_path)
->setThumbnail($im_absolute_path);
$product->save()
}
这里它给了我一个错误:SQLSTATE[23000]:完整性约束冲突:1062重复输入'1703-1'键'UNQ\u CATALOGINVENTORY\u STOCK\u ITEM\u PRODUCT\u ID\u STOCK\u ID'Try before$PRODUCT->sethaspoptions(true);但是再复制一次代码。我对它做了一点修改。我试过使用您的代码,但还是出现了相同的错误:SQLSTATE[23000]:完整性约束违反OK。尝试在$product->setMediaGallery()之前删除我的代码;插入以下行:Mage::app()->setCurrentStore(Mage\u Core\u Model\u app::ADMIN\u STORE\u ID);嗨,谢谢你宝贵的时间。在你最后的评论中,它已经用代码修复了。