我一直在尝试为magento产品添加/编辑图像。
我有这段代码
info.id = connect.infoid
此代码有效,也不起作用。这是如何。
1)如果产品没有图片,则代码可以正常工作。
2)如果产品之前有图像,则会成功删除图像(我已从产品前端链接确认已删除图像),但随后(尝试)添加图像并尝试保存图像发生错误。
这是完整的错误
SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败(
info.status = 1
。require_once("../test/app/Mage.php"); Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); $simpleProduct = Mage::getModel('catalog/product'); $simpleProduct->load($_POST['id_in_magento']); $mediaApi = Mage::getModel("catalog/product_attribute_media_api"); $mediaApiItems = $mediaApi->items($simpleProduct->getId()); foreach ($mediaApiItems as $item) { $datatemp = $mediaApi->remove($simpleProduct->getId(), $item['file']); } $simpleProduct->getResource()->save($simpleProduct); foreach (unserialize($_POST['product_groups_images']) as $img) { $simpleProduct->addImageToMediaGallery($img, array('image', 'small_image', 'thumbnail'), false, false); } // ERROR on this line... $simpleProduct->getResource()->save($simpleProduct);
,CONSTRAINTcoszi_test
FOREIGN KEY({{ 1}})参考catalog_product_entity_media_gallery_value
答案 0 :(得分:1)
更改此类代码
foreach ($mediaApiItems as $item) {
$datatemp = $mediaApi->remove($simpleProduct->getId(), $item['file']);
}
$simpleProduct->getResource()->save($simpleProduct);
到
foreach ($mediaApiItems as $item) {
$datatemp = $mediaApi->remove($simpleProduct->getId(), $item['file']);
}
删除此保存
$simpleProduct->getResource()->save($simpleProduct);
希望它能起作用..