2012-10-23 35 views
3

我還有一個問題給你們:PMagento:如何通過標籤獲取圖片?

在產品網格視圖上,我想用鼠標將鼠標懸停在圖片上時更改圖片。 我想要切換它的圖像應該有一個標籤名稱'回'。

我幾乎把它..:P

,當我在media.phtml使用此代碼:

<?php $imageByLabel = $_product->getMediaGalleryImages()->getItemByColumnValue('label', 'back');?> 
<?php echo $this->helper('catalog/image')->init($_product, 'image', $label->getFile())->resize(235, 350);?> 

它返回是這樣的:http://www.mywebsite.com/product/images/image1 當我在源屬性使用我的圖像顯示正確的圖像。

但是,當我使用此代碼在目錄/產品/ list.phtml我得到以下錯誤:

致命錯誤:調用一個成員函數getItemByColumnValue()在C語言的非對象:\發展\ FabriqMagento \應用\設計\前端\默認\ fabriq \上線模板\目錄\產品\ list.phtml 95

PS:線95是下面的行:

<?php $imageByLabel = $_product->getMediaGalleryImages()->getItemByColumnValue('label', 'back');?> 

任何幫助理解: )

回答

5

如果您查看您的代碼,$imageByLabel沒有做任何事情,所以它不是必需的。

嘗試:

<?php echo Mage::getModel('catalog/product')->load($_product->getId())->getMediaGalleryImages()->getItemByColumnValue('label','black')->getFile(); ?> 

list.phtml

1

對於未list.phtml:

$_item = $this->getItem(); 
$_product = $_item->getProduct(); 

@Francis金 - 方法 - 也resiz

$_image = Mage::getModel('catalog/product')->load($_product->getId())->getMediaGalleryImages()->getItemByColumnValue('label','FRONTSHOP'); 
echo $this->helper('catalog/image')->init($_product, 'thumbnail', $_image->getFile())->resize(75); 

ONL我發現的問題是,它不適用於排除值