Magento : Update Image Labels Programmatically
function setProductImagesAlt($product, $altText='') { if (is_numeric($product)) { $product = mage::getModel('catalog/product')->load($product); } else //reload the product { $product = mage::getModel('catalog/product')->load($product->getId()); } //set alt to the name of the Product if not set otherwise if (empty($altText)) { $altText = $product->getName(); } //sanitize string $altText = str_replace("\r", "", $altText); $altText = str_replace("\n", "", $altText); $altText = htmlspecialchars($altText, ENT_QUOTES, 'UTF-8'); $attributes = $product->getTypeInstance(true)->getSetAttributes($product); $images = $product->getMediaGalleryImages(); $mediaGalleryBackendModel = $attributes['media_gallery']->getBackend(); foreach ($images as $image) { $mediaGalleryBackendModel->updateImage($product, $image->getFile(), array('label' => $altText)); } $product->save(); }