Saya ingin menulis formatter bidang baru untuk jenis bidang yang ada. Saya tidak ingin mengganti pemformat yang ada tetapi menawarkan opsi baru.
Atau lebih baik saya menggunakan theme_preprocess_field () untuk melakukan perubahan kecil? Tapi ini tampaknya lebih sulit untuk dipertahankan dan saya ingin tetap membuka opsi editor konten saya (dan di GUI).
Dapatkah seseorang mengarahkan saya ke contoh cara yang tepat untuk melakukan ini?
Anda dapat mengembangkan modul khusus atau menggunakan modul "Pemformat khusus".
Dalam kasus pertama Anda harus menulis sebuah modul yang mengimplementasikan beberapa Drupal 7 kait:
hook_field_formatter_info()
,hook_field_formatter_view()
danhook_theme()
.hook_field_formatter_info()
Digunakan untuk mendeklarasikan tipe formatter. Fungsi ini mengembalikan array dengan deskripsi formatter. Kuncinya adalah nama formatter dan akan memiliki array dengan label dan jenis bidang. Setelah Anda harus menerapkanhook_field_formatter_view()
danhook_theme()
untuk menentukan template. Anda dapat menemukan rincian lebih lanjut tentang API Formatter Feld di dokumen .Dalam kasus kedua Anda dapat menggunakan modul Custom Formatters yang memungkinkan untuk membuat formatters tampilan kustom untuk setiap bidang. Dengan modul ini Anda dapat membuat formatter menggunakan kode PHP khusus atau kode HTML dengan token.
Saya menyarankan cara kedua karena sangat mudah digunakan dan dikonfigurasi.
sumber