2010-09-20 23 views

Respuesta

18
$product = Mage::getModel('catalog/product')->load($_product->getId()); 

foreach ($product->getMediaGalleryImages() as $image) { 
    echo var_export($image->getUrl()); 
} 
+0

¿Es posible obtener la URL de la imagen redimensionada utilizando anteriormente código? – Anand

+0

@Anand usted  Shadowbob

+1

Solo una nota al margen. El método' getMediaGalleryImages() 'solo devuelve las imágenes habilitadas. – Zsolti

0

Aquí hay otro método que no requiere cargar todo el producto objeto.

<?php $media_gallery = $_product->getMediaGallery(); ?> 
<?php foreach ($media_gallery['images'] as $_image):?> 
    <img src="<?php echo $this->helper('catalog/image')->init($_product, 'image', $_image['file'])->resize(135); ?>" alt="<?php echo $this->escapeHtml($_image['label']) ?>" /> 
<?php endforeach; ?> 
+1

Para que esto funcione en list.phtml, tuve que agregar el código; '$ _product-> getResource() -> getAttribute ('media_gallery') -> getBackend() - > afterLoad ($ _ producto); ' –

4

Si añado las imágenes a un producto mediante programación a continuación $product->getMediaGalleryImages() tiene cero imágenes ... sin embargo

$mediaApi = Mage::getModel('catalog/product_attribute_media_api'); 
$mediaItems = $mediaApi->items($product->getId()); 
foreach ($mediaItems as $image) { 
    error_log('found url: '.$image['file']); 
} 

funciona bien

Cuestiones relacionadas