首页 > 解决方案 > 将脚本添加到 drupal 7 上的某些节点和页面

问题描述

我正在尝试在我的 drupal 的所有页面上添加脚本代码,除了少数。我可以在 html.tpl.php 中使用任何条件吗?或 template.php 上的任何功能来实现这一点?

我在 template.php 上尝试了下面的代码,但没有运气:(

提前致谢!

 function THEME_preprocess_page(&$variables) {

  if (isset($variables['node']->type)) {
   $variables['theme_hook_suggestions'][] = 'page__' . 
   $variables['node']->type;
  }

  //this is what I am trying
  if ($variables['nid'] == '77') {
   drupal_add_js(drupal_get_path('theme', 'THEME') .'/scripts/path.js');
  }
} 

标签: phpdrupaldrupal-7

解决方案


您可以使用hook_page_build(&$page)

function MYMODULE_page_build(&$page){

  $nids = array(123, 1234); // your nids 

  if(($node = menu_get_object('node', 1)) && in_array($node->nid ,$nids) ){
      drupal_add_js(drupal_get_path('theme', 'mythemename') .'/scripts/path.js');
  }
}

创建此函数后清除所有缓存以查看结果,并确保路径脚本正确;)


推荐阅读