我正在编写一个自定义模块,该模块仅需要在“视图”页面中插入一些JavaScript和CSS文件。
我正在使用hook_preprocess_page,但是我不能确定当前页面是否来自视图:
function mymodule_preprocess_page(&vars)
{
var_dump($vars); //output: nothings that reference the views!
if([view page])
{
drupal_add_js([...]);
drupal_add_css([...]);
// Rebuild scripts
$scripts = drupal_get_js();
$vars['scripts'] = $scripts;
// Same for css
}
}
我知道我可以使用模板文件(page-my_view_page_path.tpl.php),但是只有在启用了模块的情况下,才必须包括js和额外的CSS;所以我喜欢把这些东西直接放在我的模块代码中。
有想法吗?
您可以在模块中使用模板文件。
—
杰里米·法兰西
@杰里米(Jeremy):添加您的答案以说明方式,以便人们可以投票和辩论。
—
Strae 2011年
它与答案没有直接关系,只是指出可以将tpl文件包含在模块中。DANieL似乎表明不可能。
—
杰里米·法兰西
好..我会包括主题page.tpl,但我的目标是把这个模块从主题完全indipendent ..
—
Strae
您可以按照Jeremy French的答案中的建议,实现Views的模板预处理模块。
—
Pierre Buyle