移除产品图像后保存产品时出错 - Magento ver。 1.8.1.0

时间:2016-10-05 22:27:50

标签: php magento magento-1.8

我一直在尝试为magento产品添加/编辑图像。

我有这段代码

info.id = connect.infoid

此代码有效,也不起作用。这是如何。

1)如果产品没有图片,则代码可以正常工作。

2)如果产品之前有图像,则会成功删除图像(我已从产品前端链接确认已删除图像),但随后(尝试)添加图像并尝试保存图像发生错误。

这是完整的错误

  

SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败(info.status = 1require_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); ,CONSTRAINT coszi_test FOREIGN KEY({{ 1}})参考catalog_product_entity_media_gallery_value

1 个答案:

答案 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);

希望它能起作用..