仅为其他"页面添加css和js - node - x.tpl.php"在Drupal 7?

时间:2016-06-10 09:51:46

标签: php drupal drupal-7

我想只有页面的其他模板(在我的情况下节点/ 348),所以我写道,我必须创建其他

 page--node--348.tpl.php

但现在如何添加其他外部css和js文件?在哪里?

也许在template.php?

非常感谢并抱歉我的英语:)

3 个答案:

答案 0 :(得分:1)

在你的一个自定义模块中创建一个hook_node_view,然后检查节点id是348并注入你的css和js:

function nameOfYourModule_node_view($node, $view_mode, $langcode) {
  if ($node->nid == 348) {
    $node->content['#attached']['js'][] = array
    (
      'type' => 'file',
      'data' => path_to_theme() . '/js/my_script.js',
      'group' => JS_THEME,
      'preprocess' => TRUE,
      'scope' => 'footer',
      'weight' => '999',
    );
  }
}

答案 1 :(得分:1)

您只需在" template_preprocess_html()"中添加条件即可。功能在你的" template.php"如下:

<?php
    function THEME_NAME_preprocess_html(&$variables) {
      $arg = arg();
      $nid = 348;
      if ($arg[1] == $nid) {
        drupal_add_css(path_to_theme() . '/css/my_style.css');
        drupal_add_js(path_to_theme() . '/js/my_script.js');
      }
    }

?>

答案 2 :(得分:0)

您可以使用模块CSS注入器和JS来自定义您想要的节点:

https://www.drupal.org/project/css_injector

https://www.drupal.org/project/js_injector

关于js,您可以使用节点的“id”和“class”创建新的js和custom。 使用css注入器,​​您只能为所需的节点启用更改。