ajax.js выдернуть из массива scripts

Главные вкладки

Аватар пользователя alexeye alexeye 29 сентября 2019 в 14:01

Вывожу все скрипты в подвале, командой print $scripts. Подскажите, как можно вытащить из этого массива определенный скрипт, в моем случае это системный /misc/ajax.js?v=такаято, и вывести его соответственно в хедере?

Комментарии

Аватар пользователя bumble bumble 29 сентября 2019 в 14:21

Читайте про скоупы, и или правильно добавляйте, или альтерите и распихивайте по нужным скоупам вручную.

ЗЫ - следите чтоб шаблон HTML был расположен к растаскиванию хедера и боттома скриптов.

Аватар пользователя alexeye alexeye 29 сентября 2019 в 16:05

что-то не получается:
отключил подключение файла в function THEME_js_alter(&$js){
unset($js['misc/ajax.js']);

Далее в
function THEME_preprocess_html(&$variables) {

пробую подключить:
// drupal_add_js($js['misc/ajax.js']);
// drupal_add_js('misc/ajax.js', 'file');
// drupal_add_js('/misc/ajax.js');
// drupal_add_html_head($scriptshead, '/misc/ajax.js');
// drupal_add_js('misc/ajax.js', array('weight' => 1));
// из вышеперечисленного что-то работало но вывод опять в подвал и без параметра ?v=такаято

$scriptshead = array(
'#tag' => 'script',
'#attributes' => array('type' => 'text/javascript'),
'#value' => '',
);
drupal_add_html_head($scriptshead, '/misc/ajax.js');

и соответственно в html.tpl.php вывожу: print $scriptshead;

но не работает. Кроме того, в логах вижу: Undefined variable: scriptshead in include() (line xx of /PATH/html.tpl.php)

Что не так?

Аватар пользователя alexeye alexeye 29 сентября 2019 в 16:09

просто нужно чтоб один скрипт из массива scripts выводился не в подвале, куда я вывожу весь массив scripts, а в head