使用视图预处理将css和js添加到视图中

时间:2011-02-03 22:27:07

标签: drupal

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

我已经创建了themename_preprocess_views_view_my_view_name($ vars)并添加到我的drupal_add_js / css中,但它无效。视图加载正常,但不会输出添加的css和js。我的drupal_add_js语法是正确的,因为我已经在自定义模块中的hook_nodeapi中测试了它。关于如何使用带有视图的函数,文档真的不清楚。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

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