Добавить внешние JavaScript

20

Можно ли добавить внешние javascript-коды непосредственно в .info-файл темы?
например scripts [] = http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js

JurgenR
источник
Вы просто хотите добавить CDN-версию jQuery Tools в свою тему или явно спрашиваете, можно ли это сделать из файла .info темы?
mpdonadio
Явно добавить внешний javascript в файл .info
JurgenR
Итак, вы хотели добавить его в файл .info и приняли ответ, который вообще не говорит о файле .info и показывает метод drupal_add_js?
mpdonadio
Да, если это не сработает в информационном файле, я рад наилучшему из возможных решений.
JurgenR

Ответы:

24

В файле template.php вашей темы используйте drupal_add_js () для метода предварительной обработки страницы (или эквивалентного предварительного процесса).

function hook_preprocess_page(&$vars) {
  drupal_add_js('http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js', 'external');
}
drmonkeyninja
источник
Я получаю ошибку javascript при использовании этой функции, когда я помещаю скрипт в (нижний колонтитул) html.tpl.php, он работает.
JurgenR
Какая ошибка? Выводит ли Drupal правильно выглядящую разметку скрипта при использовании этой функции, если вы проверяете исходный код?
drmonkeyninja
Добавление массива опций исправило это. Думаю, это была проблема с весом. drupal_add_js (' cdn.jquerytools.org/1.2.6/jquery.tools.min.js ', массив ('type' => 'external', 'scope' => 'header', 'weight' => 10)) ; Thnx!
JurgenR
@Jurgen drupal_add_js()также принимает строку как второй параметр; в этом случае он считается индексом типа, используемым в $optionsмассиве. Если вам нужно установить другие параметры, то вы должны использовать массив.
kiamlaluno
@drmonkeyninja Как добавить JS в любой модуль .. ??
Nishant
2

Способ добавления javascript зависит от того, для чего вы добавляете javascript. Есть разные способы добавить JS.

  • Определяя в файле theme.info.

  • Добавляя это в строке.

  • Добавление внешнего файла JS.

Вы можете добавить информационный файл JS с этой простой строкой кода

scripts[] = js/myscript.js

Или вы можете использовать функцию php, предоставленную drupal drupal_add_js

Эта функция позволяет вам легко добавить файл JavaScript или помогает установить встроенный код на любой странице вашей темы, и она принимает 5 параметров ( вы видите это в справочнике по API ).

Здесь есть подробный пост .

esafwan
источник
2
вы не можете определить внешний JS в информационном файле, по- видимому drupal.stackexchange.com/a/196874/12010
batigolix