为首页单独的js文件

时间:2011-12-20 04:10:34

标签: drupal

我正在研究一个drupal 7网站,我对此非常陌生。我需要从网站的其他部分创建一个完全独立的主页。我注意到head是在html.tpl.php文件中构建的,其中加载了所有脚本。我宁愿不将脚本加载到仅在首页上使用的网站的其余部分。另外我发现drupal在我的脚本末尾添加了一些代码,使它无用。

/js/image_scale.js?lwhgie“

这里发生了什么以及如何更好地控制这个? 感谢

2 个答案:

答案 0 :(得分:2)

只是添加几点:

如果要聚合主页JS(您可能会或可能不会),则不应手动将样式表添加到模板文件中。您可以在hook_preprocess_page()中添加它们,如下所示:

/**
 * Implements hook_preprocess_page().
 */
function MYMODULE_preprocess_page(&$vars) {
  if ($vars['is_front']) {
    $path = drupal_get_path('module', 'MYMODULE');
    drupal_add_js($path . '/MYMODULE1.js');
    drupal_add_js($path . '/MYMODULE2.js');
    $vars['scripts'] = drupal_get_js();
  }
}
  

此外,我发现drupal在我的脚本末尾添加了一些代码,使其无效。

     

/js/image_scale.js?lwhgie“

这不应该使你的脚本无用。来自drupal_get_js()中的评论:

  

虚拟查询字符串被添加到文件名中,以获得控制权   浏览器的缓存。每个更新或完整缓存上的字符串都会更改   flush,强制浏览器加载文件的新副本,如   网址已更改。不应缓存的文件(请参阅drupal_add_js())   获取time()作为查询字符串,以强制重新加载每个   页面请求。

答案 1 :(得分:0)

您可以在主题文件夹中创建一个名为page--front.tpl.php的新模板,这将是您主页的模板。现在您可以添加/删除所需的任何html标记。有关详细信息,请查看此处:http://drupal.org/node/1089656。此外,您可以使用主题文件夹中hook_preprocess_page()文件中的template.php“告诉”drupal使用您的自定义模板文件。请参阅我之前发布的链接上的评论