1

$ this-> getGalleryImages()を使用すると、media.phtml(Cloud Zoom拡張機能付き)が製品ページのすべての画像をどのように一覧表示しているかを確認できます。

<?php foreach ($this->getGalleryImages() as $_image): ?>
<?php ... ?>
<?php endforeach; ?>

しかし、カタログ製品ページテンプレートであるview.phtmlで$ this-> 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());?>" />

私の質問は、製品ページ(media.phtmlではなくview.phtml)にすべての製品画像を繰り返し表示するにはどうすればよいですか?基本的には、サムネイルやズームなどを行わずに、単純な大きな画像を次々とページに表示したいと考えています。

ありがとう!

4

1 に答える 1

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 } ?>
于 2012-04-14T08:56:50.693 に答える