Saya sedang membangun plugin menggunakan modul API WYSIWYG untuk Drupal 7 yang akan menambahkan tombol ke bilah alat editor yang didukung.
Saya menggunakan hook_wysiwyg_plugin()
pengait untuk membuat tombol baru pada bilah alat editor, tetapi saya perlu memuat beberapa file javascript lainnya. The hook_wysiwyg_plugin()
kait tampaknya memungkinkan Anda untuk menentukan satu JS dan file CSS.
Bagaimana saya bisa memuat file javascript tambahan yang diperlukan untuk javascript plugin?
Saya sudah menerapkan hook_library()
untuk mendefinisikan perpustakaan yaitu file js / css tetapi saya tidak yakin bagaimana saya menghubungkan itu ke wysiwyg api sehingga mereka memuat pada layar node / edit?
Jawaban:
Ini sebenarnya cukup sederhana, meskipun pengalaman saya melakukan hal yang sama adalah melalui Drupal 6, jadi mungkin ada beberapa perbedaan kecil dengan kode saya:
Sekali lagi, kode ini untuk D6, tetapi prinsip dasarnya tetap bekerja.
Meskipun tidak terikat langsung ke Wysiwyg API, itu mungkin pilihan terbaik karena Wysiwyg API hanya mendukung pada file JS per plugin (iirc).
Beberapa opsi liar / belum teruji untuk Anda:
Buat panggilan balik menu untuk file Javascript yang ditentukan dalam plugin dan kembalikan file javascript yang agak di-cache berisi sumber dari beberapa file javascript. (Wysiwyg Fields memang melakukan callback menu untuk plugin yang dihasilkan secara dinamis, tetapi hanya untuk satu file javascript, lihat sumber untuk ide-ide).
Gunakan teknik pemuatan Javascript dinamis Javascript yang mirip dengan http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml
Semoga ini membantu.
sumber
Dengan drupal_add_js :
sumber
Secara teori, yang perlu Anda lakukan adalah menggunakan parameter " #text_format " yang tepat pada
#type textarea
elemen FAPI untuk editor wysiwyg yang terkait dengan Format Teks untuk dimasukkan secara otomatis, dengan cara ini:Namun, itu tidak disertakan kecuali itu adalah halaman "edit node", jadi sesuatu yang berhubungan dengan fungsi "
filter_process_format
" atau "wysiwyg_pre_render_text_format
" mungkin dapat memaksanya, tapi saya belum menemukan kombinasi ajaib, masih membaca sumber dari modul Wysiwyg untuk menemukan bagian yang hilang.sumber