2010-09-20 14 views

Antwort

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

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

Ist es möglich, URL der Größe geänderte Bild zu erhalten oben mit Code? – Anand

+0

@Anand Sie tun  Shadowbob

+1

Nur eine Randnotiz. Die Methode' getMediaGalleryImages() 'gibt nur die aktivierten Bilder zurück. – Zsolti

0

Hier ist eine andere Methode, die nicht das Objekt gesamte Produkt Laden benötigt.

<?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

Um dies auf list.phtml zu arbeiten, musste ich den Code hinzufügen: '$ _product-> getResource() -> getAttribute ('media_gallery') -> getBackend() - > afterLoad ($ _ product); ' –

4

Wenn ich die Bilder zu einem Produkt hinzufügen programmatisch dann $product->getMediaGalleryImages() hat Null Bilder ... aber

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

funktioniert

Verwandte Themen