2013-04-02 120 views
3

我想要獲取Magento 1.7.0.2中的產品圖像網址數組。這裏是我目前的(比如稍微複雜的)代碼:試圖獲得Magento產品圖像 - 只獲取一個圖像

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和一些文件夾/ b.jpg。在第二個foreach我得到一些文件夾/ b.jpg 兩次

不知何故a.jpg被b.jpg取代,但我不明白爲什麼。我能想到的唯一的事情就是通過引用而不是價值傳遞某些東西,但如果是這種情況,我不能看到發生了什麼。

回答

1

代碼

... = $這 - >輔助( '目錄/圖像') - > ...

返回一個對象,而不是字符串。而這個對象是單例,這意味着它沒有實例並且數據被替換。

嘗試使用

... = (string)$this->helper('catalog/image')->... 
+0

我發誓* *我想,之前! –