1

我正在尝试更新我的产品图片标签。我希望它们与产品名称相同。

我试过的

$mediaModel = Mage::getModel("catalog/product_attribute_backend_media");
$images = $product->getMediaGalleryImages();
foreach ($images as $image) {
    $mediaModel->updateImage(
        $product->getId(),
        $image->getFile(),
        array("label" => $title)
    );
}

但后来我得到这个错误

致命错误:在第 401 行的 app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Media.php 中的非对象上调用成员函数 getAttributeCode()

我也试过

$mediaModel = Mage::getModel("catalog/product_attribute_media_api");
$images = $mediaModel->items($product->getId());
foreach ($images as $image) {    
    $mediaModel->update(
        $product->getId(),
        $image['file'],
        array("label" => $title)
    );
}

运行良好,但值未在管理员中更新。

我该怎么做?

4

2 回答 2

0
$product = Mage::getModel('catalog/product')->loadByAttribute('sku','xxxxxxxxx');

$mediaModel = Mage::getModel("catalog/product_attribute_media_api");
$images = $mediaModel->items($product->getId());
foreach ($images as $image) {
 $mediaModel->update(
     $product->getId(),
     $image['file'],
     array("label" => 'Image label here')
  );
 }
 $product->getResource()->saveAttribute($product, 'media_gallery');

这段代码对我有用。在刷新后端之前清除缓存

于 2017-03-10T08:30:15.690 回答
-2

尝试这个

$product->getImageLabel();
于 2013-05-23T10:11:09.600 回答