it-swarm.asia

باستخدام theme_image_style ()

أحاول عرض صور مصغرة للصور التي تم تحميلها في نموذج مخصص. بينما يمكنني رؤية الصور في صفيف النموذج الخاص بي بعد تحميلها إلى دليل tmp في Drupal ، إليك ما أحاول استخدامه لعرضها:

$url = file_create_url($form_object->uploads[$key]->uri);
$output .= '<div class="grid-3">'.theme_image_style(array('style' => 'form-preview', 'path' => $url)).'</div>';

بينما يشير $url إلى مورد الملف ، لا يمكنني إظهار صورة تم تغيير حجمها طوال حياتي. إذا استخدمت علامة img ووضعت $url كمصدر لها ، تظهر الصور ، لكنها ضخمة.

لا يمكنني استدعاء theme_image_style() لأن هذه مجرد صور مؤقتة وليست دائمة؟ يمكنني جعلها تظهر مع theme_image().

6
Kevin

كما هو مقترح ، استخدم السمة ('image_style' ، ...) ، من المستندات - فقط قم بتغيير الرمز إلى هذا:

url = file_create_url($form_object->uploads[$key]->uri);
$output .= '<div class="grid-3">'.theme('image_style', array('style_name' => 'form-preview', 'path' => $url)).'</div>';
4
ipwa

كما هو الحال دائمًا ، فإن الجواب Drupal لها الجواب. يجب عليك نقل الملف إلى دليل الملفات. كما يجب عليك أبدًا استدعاء وظيفة السمة مباشرة ولكن بدلاً من ذلك استدعاء وظيفة الغلاف theme حتى:

theme_image_style(...) // Don't do this ever

theme('image_style', ...) // Do it like this and make themers happy.

من مستندات API:

متغيرات $ مصفوفة ترابطية تحتوي على:

  • style_name: اسم النمط الذي سيتم استخدامه لتغيير الصورة الأصلية.
  • المسار: مسار ملف الصورة بالنسبة إلى Drupal. لا تعمل هذه الوظيفة مع الصور خارج دليل الملفات ولا مع الصور المستضافة عن بُعد.
  • alt: النص البديل للمستعرضات النصية.
  • العنوان: يتم عرض نص العنوان عند تحريك الصورة في بعض المتصفحات الشائعة.
  • السمات: مصفوفة ترابطية من السمات التي سيتم وضعها في علامة img.
9
googletorp

من الأفضل إضافة صفك باستخدام خاصية attributes مثل

theme_image_style(array('style' => 'form-preview', 'path' => $url,'attributes'=>array('class'=>array('class1', 'class2')));
1
Yusef

اضطررت إلى حل هذا لخدمة الملفات من المواقع/جميع/الوحدات ويمكن رؤية الإجابة في نمط صورة الموضوع للصورة الموجودة في دليل الوحدة

يتضمن إنشاء رد اتصال سمة مخصص يعالج أي ملف وينشئ مشتقات الصورة أثناء تنفيذ طلب الصفحة ، لذلك تقوم بالربط مباشرة بالملف بدلاً من إجراء طلب غير متزامن يقوم بإنشاء الصورة.

نرحب بإقتراحات أفضل/الحلول البديلة!

0
Alan D.