我正在研究一个drupal 7网站,我对此非常陌生。我需要从网站的其他部分创建一个完全独立的主页。我注意到head是在html.tpl.php文件中构建的,其中加载了所有脚本。我宁愿不将脚本加载到仅在首页上使用的网站的其余部分。另外我发现drupal在我的脚本末尾添加了一些代码,使它无用。
/js/image_scale.js?lwhgie“
这里发生了什么以及如何更好地控制这个? 感谢
答案 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使用您的自定义模板文件。请参阅我之前发布的链接上的评论