我想插入参考Javascript文件的标题使用 drupal_add_js().我把这条线内部的预处理的模板功能template.php.结果,代码不是在所有工作:没有脚本链接,输出,因为它应该是。谁能告诉我什么是我做错了什么?

function phptemplate_preprocess_page(&$vars) {
    $url = drupal_get_path("theme","mysite");  
    drupal_add_js($url."/jquery.js");  
    drupal_add_js($url."/drupal.js");  

.....
有帮助吗?

解决方案

drupal_add_js()的作品,但你把它深入到页面渲染过程。我建议你把它就像你正在做的template.php,但在开始的时候,所有的功能外。这是我们做了一些我们的项目。

其他提示

更容易,使用Javascript所有网页上要加载的需求,可以在主题的.info文件添加。请参阅 http://drupal.org/node/171205#scripts

  drupal_add_js(path_to_theme().'/js/jquery.cycle.all.js');
  $vars['scripts'] = drupal_get_js();

如果您将JavaScript文件中的主题目录,你可以添加以下主题.info文件

scripts[] = myJavaScriptFile.js

在您添加此文件,你需要停用主题,然后有反应性的。

作为指由其他的,只是简单地采用 drupal_add_js() 从一个 hook_preprocess_page() 执行不通的。引用JavaScript文件收集通过多个电话来 drupal_add_js() 是用于生成相应的标记入 $scripts 变量 template_preprocess_page().但一个主题的执行情况 hook_preprocess_page() 总是后调 template_preprocess_page().因此,为了有文件加入过 drupal_add_js() 在你 .tpl.php 文件(s)需要复盖已经设置好 $scripts 变量:

function THEME_preprocess_page(&$variables)
  drupal_add_js(...);
  $variables['scripts'] = drupal_get_js();
}

但是,你不应该加入 jquery.jsdrupal.js 你自己,它应该已经是自动完成的,通过推核心。如果你需要做的是自己,那么什么是在你的网站。你可以(重新)添加文件的作为一个快速解决,但是你最好找到根本原因的问题,因为它是最有可能创造的其他问题,你还没有确定(或工作周围没有实现的话)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top