web-gelistirme-sc.com

Theme_image_style () öğesini kullanma

Yüklenen görüntülerin küçük resimlerini özel bir biçimde görüntülemeye çalışıyorum. Drupal'daki tmp dizinine yükledikten sonra form dizimdeki görüntüleri görebiliyor olsam da, bunları görüntülemek için kullanmaya çalıştığım şey:

$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 Dosya kaynağına işaret ederken, hayatım boyunca yeniden boyutlandırılmış bir resim gösteremiyorum. Bir img etiketi kullanır ve kaynak olarak $url Koyarsam, görüntüler görünür, ancak çok büyüktür.

theme_image_style() diyemiyorum çünkü bunlar sadece geçici görüntüler ve kalıcı değil mi? theme_image() ile görünmelerini sağlayabilirim.

6
Kevin

Önerildiği gibi, dokümanlardaki temayı ('image_style', ...) kullanın - kodunuzu şu şekilde değiştirin:

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

Her zaman olduğu gibi Drupal belgelerinde yanıt vardır. Dosyayı dosya dizinine taşımanız gerekir.Ayrıca asla bir tema işlevini doğrudan çağırmanız gerekir, bunun yerine sarıcı theme işlevi şu şekilde:

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

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

API dokümanlarından:

$ değişkenler Aşağıdakileri içeren ilişkilendirilebilir bir dizi:

  • style_name: Orijinal görüntüyü değiştirmek için kullanılacak stilin adı.
  • yol: Görüntü dosyasının Drupal dosya dizinine göre yolu. Bu işlev, dosyalar dizininin dışındaki görüntülerle veya uzaktan barındırılan görüntülerle çalışmaz.
  • alt: Metin tabanlı tarayıcılar için alternatif metin.
  • title: Başlık metni, görüntünün bazı popüler tarayıcılarda üzerine geldiğinde görüntülenir.
  • attributes: img etiketine yerleştirilecek ilişkilendirilebilir özellik dizisi.
9
googletorp

attributes özelliği ile sınıfınızı eklemek daha iyidir

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

Ben siteler/tüm/modüller dosya hizmet için bunu çözmek zorunda kaldı ve cevap modül dizininde bulunan görüntü için Tema Resim Stili görülebilir

Herhangi bir dosyayı işleyen ve sayfa isteğinin yürütülmesi sırasında görüntü türevlerini oluşturan özel bir tema geri araması oluşturmayı içerir, böylece görüntüyü oluşturan bir zaman uyumsuzluk isteği yerine doğrudan dosyaya bağlanırsınız.

Daha iyi öneriler/geçici çözümler hoş geldiniz!

0
Alan D.