Cukup banyak dalam judul. Saya ingin menambahkan kelas CSS ke gambar yang dihasilkan melalui fungsi tema gaya gambar, sehingga hasilnya terlihat seperti:
<img class="MYCLASS" alt="" src="site.com/sites/default/files/styles/profile_picture/public/pictures/picture-1-1318455022.jpg" typeof="foaf:Image">
Apakah ada cara untuk melakukannya?
Ini beberapa kode berdasarkan jawaban Ryan .
theme
ditheme_image_style
dengan nama tema Anda.tambahkan baris berikut ke fungsi
Alih-alih
'my-class'
saya ingin menggunakan nama gaya yang sebenarnya, jadi saya$variables['style_name']
malah menggunakannya . Nama gaya gambar selalu merupakan nama kelas css yang valid, jadi seharusnya tidak ada masalah dengan pendekatan ini. Fungsi seharusnya terlihat seperti ini:sumber
Gunakan fungsi preproses
Anda ingin kelas itu pada gambar yang sebenarnya, menambahkan melalui JS / jQuery berantakan dan rusak jika konten dimuat ajax.
Mengapa saya tidak menggunakan theme_image_style () untuk ini
Masalah dengan melakukan ini melalui theme_image_style () adalah bahwa ia menimpa fungsi output hanya untuk satu bidang, bagaimana jika Anda memiliki beberapa bidang di tempat yang berbeda ... terlalu banyak
THEME_field__field_photo__team($variables)
mencapai yang sama seperti di atas menggunakan theme_image_style () akan terlihat seperti ini:sumber
$variables['content']['field_images'][$key]['#item']['attributes']['class'][] = [your_css_class]
.Jika alasan Anda ingin menambahkan kelas adalah untuk memberikan beberapa css tambahan untuk gambar, maka Anda dapat menghindari ini dengan pergi ke tingkat atas di pohon dom. Gambar Anda harus dimasukkan dalam bidang div yang memiliki kelas seperti
.field-type-image
. Dengan mengingat hal ini, Anda dapat menulis pemilih yang memilih gambar, seperti:div.field-type-image img {border: 1px solid #ccc }
atau yang lebih spesifik seperti:
div.field-type-image div.field-items div.field-item img {border: 1px solid #ccc }
sumber
Saya pikir Anda ingin menggunakan ini untuk teks. Setelah banyak berburu, gunakan Jquery. Barang ini untuk Drupal 7.
buat file js Anda. Sebut saja caption.js. Anda bisa menyebutnya sesuatu yang lain. Simpan di dalam tema Anda di suatu tempat.
Pastikan skrip dipanggil dengan mengedit file theme.info Anda dan menambahkan skrip [] = pathtoyourfile / caption.js
caption.js harus berisi kode berikut
Ganti img. View-field-field-useimage untuk pemilih Anda sendiri.
Tekan tombol cache kosong dan cobalah.
sumber
Saran untuk jawaban ini .
Mengubah
untuk
jadi nama gaya gambar ditambahkan ke array kelas dan tidak ada yang tergencet secara tidak sengaja.
Cuplikan lengkap:
sumber