我想从drupal模块中删除一个.js文件,以便在我的主题中覆盖这个.js文件。
所以,在我的MYTHEME_preprocess_page()
函数中,我添加了以下代码:
//Delete logintoboggan.js and replace by our own in .info file
$tmpJs = drupal_add_js();
if (isset($tmpJs['module']['sites/all/modules/logintoboggan/logintoboggan.js'])) unset($tmpJs['module']['sites/all/modules/logintoboggan/logintoboggan.js']);
$vars['scripts'] = drupal_get_js($tmpJs);
这样做,但网站上出现了一条警告信息:
警告:第2210行/home/mykitxen/public_html/example.com/includes/common.inc中isset或为空的非法偏移类型。
有什么问题?
答案 0 :(得分:2)
您错过了drupal_get_js()
($ scope)的第一个参数,在您的情况下应为'header'
或NULL
(仅使用NULL触发默认'header'
)。所以代码的最后一行应该是:
$vars['scripts'] = drupal_get_js('header', $tmpJs);
或
$vars['scripts'] = drupal_get_js(NULL, $tmpJs);
注意:这假设为Drupal 6.如果您使用的是Drupal 7,您可能需要查看hook_js_alter()
。