我正在尝试在Magento 1.7.0.2中获取一系列产品图片网址。这是我当前的(稍微复杂的)代码:
foreach ($_product->getMediaGalleryImages() as $_image) {
$tmp = array(
'image' => $this->helper('catalog/image')
->init($this->getProduct(), 'thumbnail', $_image->getFile())
->constrainOnly(true)
->keepAspectRatio(true)
->keepFrame(false)
->resize(800, null),
'thumb' => $this->helper('catalog/image')
->init($this->getProduct(), 'thumbnail', $_image->getFile())
->constrainOnly(true)
->keepAspectRatio(true)
->keepFrame(false)
->resize(227, null),
'label' => $this->htmlEscape($this->getImageLabel())
);
echo $tmp['image'] . '<br>';
$all_imgs[] = $tmp;
}
foreach ($all_imgs as $blah) {
echo $blah['image'] . '<br>';
echo $blah['thumb'] . '<br>';
echo $blah['label'] . '<br>';
}
我有两张照片,a.jpg和b.jpg。在第一个foreach我得到一些文件夹/ a.jpg和somefolder / b.jpg。在第二个foreach中,我得到了一些文件夹/ b.jpg 两次。
不知何故,a.jpg正被b.jpg所取代,但我无法弄明白为什么。我唯一能想到的是通过引用而不是值传递某些东西,但如果是这种情况,我无法看到发生的位置。
答案 0 :(得分:1)
代码
... = $ this-&gt; helper('catalog / image') - &gt; ...
返回一个对象,而不是字符串。这个对象是单例,这意味着它没有实例,数据被替换。
尝试使用
... = (string)$this->helper('catalog/image')->...