Drupal 7 模板视图预处理添加 javascript:我做错了什么?
Drupal 7 template views preprocess add javascript: what am I doing wrong?
我读到 best-practice 将 javascript 文件添加到特定视图是使用预处理器和 drupal_add_js。我要添加的是 Facebook 应用程序脚本。我知道该脚本有效,因为我已经测试过将它添加到视图 header 中的标签中。
对我不起作用的是我添加到下面主题的 template.php 文件中的代码。据我从搜索中得知,这应该有效(显然用实际名称替换 THEME_NAME 和 VIEW_NAME),但只是没有添加 js 文件。我还尝试将它添加到我主题的 .info 文件中的每个页面,只是想看看它是否可以将它添加到每个页面,但没有成功。
function THEME_NAME_preprocess_views_view(&$vars) {
$view = $vars['view'];
if ($view->name == 'VIEW_NAME') {
drupal_add_js(drupal_get_path('theme', 'THEME_NAME') . '/js/facebook.js');
}
}
只需为每个视图调用预处理。如需帮助,请访问此 link
function bartik_preprocess_views_view(&$vars) {
$function_name = __FUNCTION__ . '__' . $vars['view']->name;
if (function_exists($function_name)) {
$function_name($vars);
}
}
function bartik_preprocess_views_view__test(&$vars) {
$view = $vars['view'];
if ($view->name == 'test') {
drupal_add_js(drupal_get_path('theme', 'bartik') . '/js/facebook.js');
}
}
我读到 best-practice 将 javascript 文件添加到特定视图是使用预处理器和 drupal_add_js。我要添加的是 Facebook 应用程序脚本。我知道该脚本有效,因为我已经测试过将它添加到视图 header 中的标签中。
对我不起作用的是我添加到下面主题的 template.php 文件中的代码。据我从搜索中得知,这应该有效(显然用实际名称替换 THEME_NAME 和 VIEW_NAME),但只是没有添加 js 文件。我还尝试将它添加到我主题的 .info 文件中的每个页面,只是想看看它是否可以将它添加到每个页面,但没有成功。
function THEME_NAME_preprocess_views_view(&$vars) {
$view = $vars['view'];
if ($view->name == 'VIEW_NAME') {
drupal_add_js(drupal_get_path('theme', 'THEME_NAME') . '/js/facebook.js');
}
}
只需为每个视图调用预处理。如需帮助,请访问此 link
function bartik_preprocess_views_view(&$vars) {
$function_name = __FUNCTION__ . '__' . $vars['view']->name;
if (function_exists($function_name)) {
$function_name($vars);
}
}
function bartik_preprocess_views_view__test(&$vars) {
$view = $vars['view'];
if ($view->name == 'test') {
drupal_add_js(drupal_get_path('theme', 'bartik') . '/js/facebook.js');
}
}