Magento での製品画像の生成はどのように機能しますか?
-
13-12-2019 - |
質問
Magento での製品画像の生成はどのように機能しますか?
解決
画像生成が製品画像のサイズ変更を意味する場合、これはクラスから開始して行われます。 Mage_Catalog_Helper_Image
.
メソッドを呼び出します init
製品モデルのインスタンスと、サイズ変更しようとしている画像属性のコードをパラメーターとして受け取ります (image
, thumbnail
, small_image
またはその他のカスタム画像属性)。
このヘルパー クラスはモデルの単なるラッパーです Mage_Catalog_Model_Product_Image
に設定したパラメータに基づいて、 init
magento メソッドは、実際のフルサイズ画像へのパス、または画像が存在しない場合はプレースホルダーを取得します。
このヘルパー (上記のモデルを呼び出します) を通じて、幅、高さ、アスペクト比、透明度など、新しい画像のいくつかの属性を設定できます。
電話をかけるときは、 __toString
ヘルパーからのメソッド (echo $helperInstance を呼び出したときに発生します)。サイズ変更された画像が存在しない場合は生成され、その URL が返されます。
方法 __toString
ヘルパーからの電話 saveFile
そして getUrl
モデルからのメソッド。
の saveFile
モデル呼び出しからのメソッド getImageProcessor()->save()
メソッド getImageProcessor
のインスタンスを返します Varien_Image
. 。「アダプター」を使用して画像を処理します。このアダプターはデフォルトで次のインスタンスです。 Varien_Image_Adapter_Gd2
.
これらのクラスが何をするのかを確認することから始めて、そこからさらに深く進んでいくことができます。
このアダプターは、イメージのタイプに応じて次の PHP 関数のいずれかを使用するという考えです。
magecreatefromgif
- GIF用imagecreatefromjpeg
- JPEGの場合imagecreatefrompng
- pngの場合imagecreatefromxbm
- XBMおよびwbmpの場合