2012-08-02 16 views
0

如果你去this page,你會發現我在2米不同的地方顯示圖像的同一版本:一個用於雲變焦,和一個在頁面中間,而不進行縮放。顯示在Magento的多個地方形象的一個版本?

我目前使用的代碼2條不同的線路來生成圖像,然後返回它的URL,基本上做同樣的事情:

<?php /* for cloud zoom */ echo $this->helper('catalog/image')->init($_product, 'image')->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->setWatermarkImageOpacity(0)->resize(600, null);?> 

<?php /* for middle page */ echo $this->helper('catalog/image')->init($_product, 'image')->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->setWatermarkImageOpacity(0)->resize(600, null);?> 

這無疑是一個蹩腳的解決方案,因爲:1)它佔據更多的磁盤存儲,因爲有2個不同的圖像文件,這是基本相同的圖像; 2)它顯著減慢爲用戶同時下載圖片頁面加載。

所以我的問題是如何利用圖像的同一版本在Magento的多個地方?有沒有什麼辦法讓調整大小()方法返回圖像的URL?

謝謝!

回答

0

Mage_Catalog_Helper_Image__toString()方法正是這麼做的:

$imageUrl = $this->helper('catalog/image')->init($_product, 'image')->__toString(); 

HTH

相關問題