Frage

Wie funktioniert die Generierung von Produktbildern in Magento?

War es hilfreich?

Lösung

Wenn Sie mit Bildgenerierung die Größenänderung von Produktbildern meinen, erfolgt dies ausgehend von der Klasse Mage_Catalog_Helper_Image.
Sie rufen die Methode auf init das als Parameter eine Instanz des Produktmodells und den Code des Bildattributs empfängt, dessen Größe Sie ändern möchten (image, thumbnail, small_image oder ein anderes benutzerdefiniertes Bildattribut, das Sie haben).

Diese Hilfsklasse ist nur ein Wrapper für das Modell Mage_Catalog_Model_Product_Image
Basierend auf den Parametern, die Sie eingestellt haben init Methode Magento ruft den Pfad zum tatsächlichen Bild in voller Größe oder den Platzhalter ab, wenn das Bild nicht vorhanden ist.

Sie können über diesen Helfer (der das oben erwähnte Modell aufruft) einige Attribute des neuen Bildes festlegen, wie Breite, Höhe, Seitenverhältnis, Transparenz.

Beim Aufruf des __toString Mit der Methode des Hilfsprogramms (das geschieht, wenn Sie echo $helperInstance aufrufen) wird das in der Größe geänderte Bild generiert, wenn es nicht existiert, und die URL dafür wird zurückgegeben.
Die Methode __toString vom Helfer ruft das an saveFile Und getUrl Methoden aus dem Modell.

Der saveFile Methode aus den Modellaufrufen getImageProcessor()->save() Methode wo getImageProcessor gibt eine Instanz von zurück Varien_Image.das einen „Adapter“ verwendet, um das Bild zu verarbeiten.Dieser Adapter ist standardmäßig und Instanz von Varien_Image_Adapter_Gd2.
Sie können damit beginnen, zu prüfen, was diese Kurse bewirken, und von dort aus tiefer gehen.

Die Idee ist, dass dieser Adapter je nach Bildtyp eine der folgenden PHP-Funktionen nutzt:

  • magecreatefromgif - für GIF
  • imagecreatefromjpeg - für JPEG
  • imagecreatefrompng - für PNG
  • imagecreatefromxbm - für XBM und wbmp
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top