我使用显示套件来显示“文章”类型的完整节点。我想在包含文章节点的页面上添加一些css和js,但添加这些不能依赖于主题。所以我不能使用template.php文件如何在独立于主题的节点页上添加CSS和js文件?
我将如何能够做到这一点?
我使用显示套件来显示“文章”类型的完整节点。我想在包含文章节点的页面上添加一些css和js,但添加这些不能依赖于主题。所以我不能使用template.php文件如何在独立于主题的节点页上添加CSS和js文件?
我将如何能够做到这一点?
创建一个新的模块,并把它放在:/网站/所有/模块/自定义
的模块结构和文件应该是这样的:
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钩子。
谢谢,这是我所需要的 – Nealv
使用函数drupal_add_js和drupal_add_css创建一个自定义模块并包含您的js和css文件。您可以根据您想要包含文件的方式,在自定义模块的hook_init或hook_nodeapi(或Drupal 7中的Node Api钩子)中调用它们。无论使用什么主题,都可以调用这些函数。
参考文献: 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
您是否在寻找独立主题您的文章类型节点?看看这个http://drupal.org/node/17565 –
我宁可不使用tpl文件。 – Nealv
什么版本的drupal? – Coder1