我想只有页面的其他模板(在我的情况下节点/ 348),所以我写道,我必须创建其他
page--node--348.tpl.php
但现在如何添加其他外部css和js文件?在哪里?
也许在template.php?
非常感谢并抱歉我的英语:)
答案 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注入器,您只能为所需的节点启用更改。