2011-11-28 40 views
1

我使用显示套件来显示“文章”类型的完整节点。我想在包含文章节点的页面上添加一些css和js,但添加这些不能依赖于主题。所以我不能使用template.php文件如何在独立于主题的节点页上添加CSS和js文件?

我将如何能够做到这一点?

+0

您是否在寻找独立主题您的文章类型节点?看看这个http://drupal.org/node/17565 –

+0

我宁可不使用tpl文件。 – Nealv

+0

什么版本的drupal? – Coder1

回答

1

创建一个新的模块,并把它放在:/网站/所有/模块/自定义

的模块结构和文件应该是这样的:

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钩子。

+0

谢谢,这是我所需要的 – Nealv

1

使用函数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

+0

Myes,我正在寻找同一个方向:)。在模块中,我想定义一些我目前在主题中使用的模板。这些tpl文件是视图重写:lik - > block - views - article-images - block.tpl使用hook_theme_registry_alter函数。你能帮忙吗? – Nealv

+0

好的,我能够将模板放在我的模块文件夹中。 THX的帮助:) – Nealv

相关问题