我可以看到media.phtml(使用Cloud Zoom扩展程序)如何通过$ this-> getGalleryImages()的帮助列出产品页面上的所有图像:
<?php foreach ($this->getGalleryImages() as $_image): ?>
<?php ... ?>
<?php endforeach; ?>
但是当我在view.phtml中使用$ this-&gt; getGalleryImages()时,它是目录产品页面模板,它不会返回或输出任何内容。但是,这只会在产品页面上打印第一张图片:
<img src="<?php echo $this->helper('catalog/image')->init($_product, 'image')->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->setWatermarkImageOpacity(0)->resize(300, null);?>" alt="<?php echo $this->htmlEscape($this->getImageLabel());?>" title="<?php echo $this->htmlEscape($this->getImageLabel());?>" />
我的问题是如何迭代并显示产品页面上的所有产品图片(view.phtml,而不是media.phtml)?基本上,我希望它们全部显示在页面上,无需缩略图或缩放或任何东西,只是一个接一个的普通大图像。
谢谢!
答案 0 :(得分:11)
以下是显示产品图片库的代码..
谢谢, 截拳道
<?php $_images = Mage::getModel('catalog/product')->load($_product->getId())->getMediaGalleryImages(); ?>
<?php if($_images){?>
<?php $i=0; foreach($_images as $_image){ $i++; ?>
<img src="<?php echo $this->helper('catalog/image')->init($_product, 'thumbnail', $_image->getFile())->resize(108,90); ?>" alt="<?php echo $this->htmlEscape($_image->getLabel());?>" title="<?php $this->htmlEscape($_image->getLabel());?>" /><?php } ?>
<?php } ?>