سؤال

كيف يعمل إنشاء صور المنتج في Magento؟

هل كانت مفيدة؟

المحلول

إذا كنت تقصد من خلال إنشاء الصور تغيير حجم صورة المنتج، فسيتم ذلك بدءًا من الفصل Mage_Catalog_Helper_Image.
يمكنك استدعاء الأسلوب init التي تتلقى كمعلمات مثيلًا لنموذج المنتج ورمز سمة الصورة التي تحاول تغيير حجمها (image, thumbnail, small_image أو أي سمة صورة مخصصة أخرى لديك).

هذه الفئة المساعدة هي مجرد غلاف للنموذج Mage_Catalog_Model_Product_Image
بناءً على المعلمات التي قمت بتعيينها على init تقوم طريقة الماجنتو باسترداد المسار إلى الصورة بالحجم الكامل الفعلي أو العنصر النائب في حالة عدم وجود الصورة.

يمكنك من خلال هذا المساعد (الذي يستدعي النموذج المذكور أعلاه) تعيين بعض سمات الصورة الجديدة، مثل العرض والارتفاع ونسبة العرض إلى الارتفاع والشفافية.

عند الاتصال ب __toString من المساعد (الذي يحدث عند استدعاء echo $helperInstance) يتم إنشاء الصورة التي تم تغيير حجمها إذا لم تكن موجودة ويتم إرجاع عنوان url الخاص بها.
طريقة __toString من مكالمات المساعد saveFile و getUrl طرق من النموذج.

ال saveFile طريقة من المكالمات النموذجية getImageProcessor()->save() طريقة حيث getImageProcessor إرجاع مثيل ل Varien_Image.يستخدم "محولًا" لمعالجة الصورة.هذا المحول هو بشكل افتراضي ومثيل Varien_Image_Adapter_Gd2.
يمكنك البدء بالتحقق من ما تفعله هذه الفئات والتعمق أكثر من هناك.

الفكرة هي أن هذا المحول يستخدم إحدى وظائف php التالية اعتمادًا على نوع الصورة:

  • magecreatefromgif - ل GIF
  • imagecreatefromjpeg - لJPEG
  • imagecreatefrompng - لبابوا نيو غينيا
  • imagecreatefromxbm - لXBM وwbmp
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top