Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 我无法替换JavaScript文件_Drupal_Drupal Templates - Fatal编程技术网

Drupal 我无法替换JavaScript文件

Drupal 我无法替换JavaScript文件,drupal,drupal-templates,Drupal,Drupal Templates,我想从Drupal网站上删除一个JavaScript文件,并添加一个自定义文件。这是我在template.php文件中使用的代码,但它不起作用(旧的js文件仍在加载)。(我已清除缓存) 函数zen_预处理_页面(&$vars,$hook){ 我测试了你的代码,如果你把它放在hook\u preprocess\u page()中,它实际上是有效的。你的问题可能是你使用了错误的proprocess函数,因此它不会影响你在页面模板中使用的$scripts变量,或者它会在以后的过程中被覆盖 编辑 您不

我想从Drupal网站上删除一个JavaScript文件,并添加一个自定义文件。这是我在template.php文件中使用的代码,但它不起作用(旧的js文件仍在加载)。(我已清除缓存)

函数zen_预处理_页面(&$vars,$hook){


我测试了你的代码,如果你把它放在
hook\u preprocess\u page()
中,它实际上是有效的。你的问题可能是你使用了错误的proprocess函数,因此它不会影响你在页面模板中使用的$scripts变量,或者它会在以后的过程中被覆盖

编辑

  • 您不应该直接编辑禅宗主题,而是将其分为子主题
  • 您是否尝试过使用
    drupal\u add\u js()
    添加JavaScript文件
  • 更改后是否检查了
    $variables['scripts']
    ,以查看其是否符合预期

有什么好的提示吗?我已经检查了脚本数组,正确地替换了旧路径,但仍然是旧的js(而不是新的)您看到了吗:?感谢链接。重点是数组中的路径实际上已被替换,但旧文件仍由Drupal加载。他们告诉我,我只需要将这些行添加到template.php文件中,而不使用allups上的模块。或者我错了,该函数应该从template.php文件(zen_registry_alter)运行?无论如何,我已经尝试了这两种解决方案(我还添加了函数myNewModule\u theme\u registry\u alter(&$theme\u registry)到myNewModule.module文件,但文章中描述的任何函数都不会被调用。好吧,我在template.php文件的zen_preprocess_页面的末尾使用了它。这正确吗?确实部分有效,因为$scripts数组已正确更新,但仍然加载了旧的js文件而不是新的。所以,是的。我正在更新scripts变量,但我的模板页面仍然使用旧的…我应该刷新主题注册表吗..在那几行之后?我看到你更新了这个问题。这就是我要说的..变量$variables['scripts']已完全更新。但我的主题页中的变量$scripts没有更新。@Patrick:那么您要么没有通过reff传递$variables var,要么页面模板中使用的脚本变量在其他地方被覆盖。请尝试将其命名为其他名称,并在页面模板中使用它。这将有助于您调试问题。好的,我解决了..谢谢。我我太傻了,var$变量应该是$vars。
/*update js file*/
$scripts = drupal_add_js();
unset($scripts['module']['sites/all/modules/lightbox2/js/lightbox.js']);
$scripts['module']['sites/all/themes/zen/zen/myjs/lightbox.js'] = array('preprocess' => 1, 'cache' => 1);
$variables['scripts'] = drupal_get_js('header', $scripts);