2011-02-03 53 views
1

我试图通过我的template.php中的预处理将css和js添加到视图。使用视图预处理将css和js添加到视图

我已经创建了themename_preprocess_views_view_my_view_name($ vars),并添加到了我的drupal_add_js/css中,但它不工作。视图加载正常,但添加的CSS和JS不输出。我的drupal_add_js语法是正确的,因为我已经在自定义模块中的hook_nodeapi中测试了它。关于如何在视图中使用该功能,文档真的不清楚。

任何帮助将不胜感激。

回答

4

我和风格有过类似的事情。我会通过预处理函数中的drupal_add_css方法添加样式表,但它们不会出现在页面上。我所假设的是$ styles变量已经被填充。我通过将$ vars ['styles']设置为drupal_get_css来解决问题。示例:

drupal_add_css(path_to_theme() . '/css/foo.css','theme','all'); 
$vars['styles'] = drupal_get_css(); 

您可以尝试查看脚本是否发生了同样的情况。例如:

drupal_add_js(path_to_theme() . '/js/foo.js'); 
$vars['scripts'] = drupal_get_js(); 
0

你确定你的预处理被拾取?命名有时候可能有点时髦。我建议使用devel模块中的devel themer模块,它允许您查看正在使用哪些主题函数和覆盖。