0

このページにアクセスすると、2 つの異なる場所に同じバージョンの画像が表示されていることがわかります。1 つはクラウド ズーム用で、もう 1 つはズームなしのページの中央です。

私は現在、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 を返す resize() メソッドを取得する方法はありますか?

ありがとう!

4

1 に答える 1

0

Mage_Catalog_Helper_Imageまさにそれを行う__toString()メソッドがあります:

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

HTH

于 2012-08-02T15:37:28.350 に答える