删除.js文件有效但警告仍然存在

时间:2011-12-16 17:38:42

标签: drupal themes override

我想从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或为空的非法偏移类型。

有什么问题?

1 个答案:

答案 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()