我正在使用展示套件来显示“文章”类型的完整节点。我想在包含文章节点的页面上添加一些css和js,尽管这些添加不能依赖于主题。所以我不能使用template.php文件
我怎么能这样做?
答案 0 :(得分:1)
使用drupal_add_js和drupal_add_css函数创建自定义模块并包含js和css文件。您可以在自定义模块的hook_init或hook_nodeapi(或Drupal 7中的Node Api Hooks)中调用它们,具体取决于您希望如何包含文件。无论您使用什么主题,都会调用这些函数。
参考文献: http://api.drupal.org/api/drupal/includes--common.inc/function/drupal_add_js
http://api.drupal.org/api/drupal/includes--common.inc/function/drupal_add_css
答案 1 :(得分:1)
创建一个新模块并将其放入:/ sites / all / modules / custom
模块结构和文件如下所示:
ahelper/
ahelper/css/article_node.css
ahelper/js/article_node.js
ahelper/ahelper.info
ahelper/ahelper.module
ahelper / ahelper.info
core = "7.x"
name = "Article Helper"
project = "ahelper"
version = "7.x-1.0"
ahelper / ahelper.module
<?php
/**
* Implements hook_node_view()
*/
function ahelper_node_view($node, $view_mode, $langcode) {
// if node is an article, and we're looking at a full page view
if ($node->type == 'article' && $view_mode == 'full') {
// then add this javascript file
drupal_add_js(drupal_get_path('module', 'ahelper') .'/js/article_node.js');
// and add this css file
drupal_add_css(drupal_get_path('module', 'ahelper') .'/css/article_node.css');
}
}
然后启用该模块。你可以使用node_view钩子。