2011-03-30 50 views
0

我在Drupal 7中使用Omega主题。而且我知道你可以在mytheme.info内声明默认的JavaScript文件。但这是全局声明的,并且每次都加载到每个节点上,即使在不需要js文件的节点上也是如此。这是资源消耗和更多的是让网站变慢。“声明默认的JavaScript包括” - 只加载一些节点

是否有可能从主题配置中指定js文件仅用于某个节点?

回答

1

在你的情况下,我会建议从你的自定义模块中的init钩子添加js。

mymodule_init(){ 
    if(arg(0)=='node' && is_numeric(arg(0)) && node_load(arg(1))->type == 'my_content_type'){ 
    drupal_add_js(path_to_my_js);  
    } 
} 
1

使用drupal_add_js(),也许在phptemplate_preprocess_html和包裹你的病情周围..说不上来,如果你有在变量参数的NID ..,否则使用的current_path ()

1

如果你打开JavaScript优化,但我很确定它会将mytheme.info中指定的所有JavaScript文件合并到一个文件中,这对您网站的性能很有帮助。

它可能会是最好这样做,当你把现场直播,否则调试可能是一个有点棘手:)

如果做不到这一点的drupal_add_js功能应该可以帮助您添加特定页面的JavaScript。