Tambahkan javascripts eksternal

20

Apakah mungkin menambahkan javascripts eksternal langsung ke file .info suatu tema?
mis. skrip [] = http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js

JurgenR
sumber
Apakah Anda hanya ingin menambahkan versi CDN dari jQuery Tools ke tema Anda, atau apakah Anda secara eksplisit bertanya apakah dapat dilakukan dari file .info tema?
mpdonadio
Secara eksplisit untuk menambahkan javascript eksternal ke file .info
JurgenR
Jadi Anda ingin menambahkannya ke file .info dan Anda menerima jawaban yang sama sekali tidak membicarakan file .info dan memperlihatkan metode drupal_add_js?
mpdonadio
Ya jika itu tidak berfungsi di file info saya senang dengan solusi terbaik.
JurgenR

Jawaban:

24

Dalam file template.php tema Anda gunakan drupal_add_js () ke metode preprocess halaman (atau preprocess yang setara).

function hook_preprocess_page(&$vars) {
  drupal_add_js('http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js', 'external');
}
drmonkeyninja
sumber
Saya mendapatkan kesalahan javascript saat menggunakan fungsi ini, ketika saya meletakkan skrip di dalam (footer) html.tpl.php berfungsi.
JurgenR
Kesalahan apa? Apakah Drupal menampilkan markup skrip yang benar ketika menggunakan fungsi ini jika Anda memeriksa kode sumber?
drmonkeyninja
Menambahkan array opsi memperbaikinya. Kira itu masalah dengan berat badan. drupal_add_js (' cdn.jquerytools.org/1.2.6/jquery.tools.min.js ', array ('type' => 'eksternal', 'scope' => 'header', 'weight' => 10)) ; Thnx!
JurgenR
@Jurgen drupal_add_js()menerima juga string sebagai parameter kedua; dalam hal ini, ini dianggap sebagai indeks "type" yang digunakan dari $optionsarray. Jika Anda perlu mengatur opsi lain, maka Anda harus menggunakan array.
kiamlaluno
@drmonkeyninja Bagaimana cara menambahkan JS dalam modul apa pun .. ??
Nishant
2

Metode menambahkan javascript tergantung pada untuk apa Anda menambahkan javascript. Ada berbagai cara untuk menambahkan js.

  • Dengan mendefinisikan dalam file theme.info.

  • Menambahkannya sebaris.

  • Menambahkan file js eksternal.

Anda dapat menambahkan file info js dengan baris kode sederhana ini

scripts[] = js/myscript.js

Atau Anda dapat menggunakan fungsi php yang disediakan oleh drupal drupal_add_js

Fungsi ini memungkinkan Anda dengan mudah menambahkan file JavaScript atau membantu dalam mengatur kode inline ke halaman apa pun dalam tema Anda dan dibutuhkan 5 parameter ( Anda melihatnya dalam referensi api ).

Ada posting detail tentang ini di sini.

esafwan
sumber
2
Anda tidak dapat menentukan JS eksternal dalam file info, tampaknya drupal.stackexchange.com/a/196874/12010
batigolix