Вы должны сделать это наоборот.Удаление файлов из других модулей contrib явно связывает ваш модуль со всеми модулями, которые выводят js в заголовок.Вы не сможете поддерживать это слишком долго, пока оно не сломалось.Что происходит, когда дополнительные модули js добавляются модулями contrib?
Лучше всего создать маску путей, которые вы хотите вывести, и сбросить все, кроме этих.
В Drupal 7 есть некоторые хуки,позволю тебе сделать это, но я не могу вспомнить их.Если вы находитесь на D6, вы немного застряли.
Я написал грязный обходной путь для Drupal 6 для этой же проблемы с файлами CSS.Вот весь модуль (было всего 3 функции).Я уверен, что вы можете адаптировать его и к js-файлам.
Создайте свою маску (выставьте ее в таблицу переменных)
function destroy_mask_styles() {
return variable_get('destroy_mask_styles', array('all/modules/mymodule', 'themes/mytheme'));
}
Тогда здесьприходит хитрая часть.Эта функция ищет пути к файлам css в заголовке и сбрасывает их, если они не совпадают.
function destroy_styles($var_styles) {
//this is a bit dodgey. But it's probably the easiest way to implement
$masks = destroy_mask_styles();
$styles = array();
foreach(explode("\n", $var_styles) as $style) {
foreach($masks as $mask) {
if(strpos($style, $mask) > 0) {
$styles[] = $style;
}
}
}
return implode("\n", $styles);
}
Затем в preprocess_page, (это можно рассмотретьгде происходит хитрость)
function destroy_preprocess_page(&$variables) {
//destroy some css and scripts we don't want
$styles = destroy_styles($variables['styles']);
$variables['styles'] = empty($styles) ? $variables['styles'] : $styles;
}
Если вы хотите включить все из одного модуля (например), просто измените пути, которые соответствуют, чтобы включить путь к корневой папке модуля.Не беспокойтесь об именах файлов.
Помните, что это не идеальный способ сделать это.Возможно, в D6 есть лучший способ, но здесь нет ловушек, поэтому, вероятно, нет.
Удачи!