在Drupal 6中为特定节点添加CSS或Javascript文件

前端之家收集整理的这篇文章主要介绍了在Drupal 6中为特定节点添加CSS或Javascript文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Drupal 6中为特定节点添加CSS或Javascript文件的最佳方法是什么?

我想在我的网站上创建一个有一点JavaScript应用程序运行的页面,所以CSS和javascript是特定于该页面的,不会被包含在其他页面加载中。

解决方法

我建议不要使用hook_nodeapi。添加CSS和Javascript与布局相关,所以hook_nodeapi不是它的地方:使用主题。这样,您可以在开发新主题时覆盖这些文件。使用nodeapi方法做到这一点会更困难(您必须搜索js / css列表中的文件,将其删除并替换为自己的)。

无论如何,您需要做的是添加一个节点预处理功能,为您添加这些文件。您可以在模块或自定义主题中执行此操作。对于一个模块,这将是:

function mymodule_preprocess_node(&$variables) {
  $node = $variables['node'];
  if (!empty($node) && $node->nid == $the_specific_node_id) {
    drupal_add_js(drupal_get_path('module','mymodule') . "/file.js","module");
    drupal_add_css(drupal_get_path('module','mymodule') . "/file.css","module");
  }
}

主题

function mytheme_preprocess_node(&$variables) {
  $node = $variables['node'];
  if (!empty($node) && $node->nid == $the_specific_node_id) {
    drupal_add_js(path_to_theme() . "/file.js","theme");
    drupal_add_css(path_to_theme(). "/file.css","theme");
  }
}

首先不要忘记清除缓存。

在节点为主题之前调用这些函数。指定js / css可以使用级联方法:您可以在模块中拥有通用/基本的内容,并在主题中提供增强或特定的功能

猜你在找的CSS相关文章