如何在Drupal 6中为不同的节点添加不同的模板

时间:2016-04-27 14:30:29

标签: php drupal drupal-6

我的网站中有3个节点。

  1. node / 1 - 登录
  2. node / 2 - 联系
  3. node / 3 - Register

  4. 我想为不同的节点设置不同的模板。如果我以 page-node-1.tpl.php,page-node-2-tpl.php,它为整个页面,我不想要,我想要专门覆盖节点内容。

    我已经尝试过以下链接: -

    我正在使用Drupal 6

1 个答案:

答案 0 :(得分:0)

我有一段时间没有使用过Drupal 6,但根据我的意识,Drupal 6的默认节点模板将没有基于节点ID的模板建议。

这并不意味着您无法从自定义主题中执行此操作。

<?php

function THEMENAME_preprocess_node(&$vars) {
    $vars['template_files'][] = 'node-' . $vars['nid'];
}

?>

在主题的template.php中,添加上面的代码,替换主题名称(如果已有该功能,则合并功能内容)。这将使Drupal检查node-123.tpl.php文件(123是一个示例节点ID),并将其用于代替node.tpl.php

由于您提到您正在使用node/1或任何节点内容来嵌入登录表单,因此我要告诉您,这并不是一个好主意。当站点处于维护模式时,需要可以访问登录表单,以后可能很难使用不同的部署环境来管理它们。这部分与这个问题完全无关。