Saya mencoba menggunakan Drupal.settings untuk pertama kalinya untuk meneruskan variabel dari PHP ke JavaScript. Dokumentasi tentang topik ini jarang dan saya memiliki beberapa masalah.
Apakah mungkin menggunakan #attached untuk melewati pengaturan daripada drupal_add_js(array('myModule' => $settings), 'setting');
? Alasan saya bertanya adalah karena saya telah diberitahu bahwa itu #attached
adalah cara yang "benar" untuk menambahkan pengaturan. (Saya tahu ini juga cara yang benar untuk menambahkan file, tetapi tidak yakin apakah itu berfungsi dengan variabel pengaturan.)
Saya menggunakan kode berikut, tapi saya tidak bisa memuatnya di bawah objek DOM dan saya mandek.
(function ($) {
Drupal.behaviors.myModule = {
attach: function(context, settings) {}
};
});(jQuery);
Saran apa pun akan sangat dihargai. Harap diingat bahwa ini adalah pertama kalinya saya berangkat menggunakan Drupal.settings, sehingga setiap detail diterima dan dihargai.
sumber
Terima kasih banyak atas tanggapan yang diposting.
Seperti yang disebutkan dalam pertanyaan awal, masalahnya bukan bagaimana memuat file CSS & JS menggunakan #attached, tetapi bagaimana meneruskan variabel ke Drupal.settings menggunakan #attached dan bukan drupal_add_js (). Ada masalah praktik terbaik seputar drupal_add_js terkait caching dan ketersediaan di bawah DOM.
Setelah beberapa penelitian saya punya solusinya. Contoh berikut menggunakan #attached untuk memuat file JS AND untuk meneruskan variabel PHP dengan melampirkannya ke $ page array (render array).
Jadi alasan saya ingin melakukan ini adalah karena saya ingin meneruskan variabel dari PHP / Drupal ke file jQuery, seperti booleans dll. Dengan contoh di atas, saya sekarang dapat mengakses 'status' itu menggunakan:
Ini semua dilakukan tanpa menyentuh drupal_add_js ();
sumber