2016-04-27 71 views
0

我在我的网站中有3个节点。如何为Drupal 6中的不同节点添加不同的模板

  1. 节点/ 1 - 登录
  2. 节点/ 2 - 联系
  3. 节点/ 3 - 注册

我希望有不同的节点不同的模板。如果我这样做page-node-1.tpl.php,page-node-2-tpl.php,它对于整个页面,我不想那,我想特别覆盖节点内容。

我已经尝试以下链接: -

我使用Drupal的6

+0

Ayesh是对的。添加新模板文件后,请不要忘记清除缓存! – MilanG

回答

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或任何节点内容嵌入登录表单,让我告诉你,这不是一个好主意。登录表单需要在网站处于维护模式时可访问,并且以后可能很难在不同的部署环境中管理它们。尽管这部分与问题完全无关。

+0

你正在谈论的以上代码? –

+0

这是一个PHP代码,我忘了使用适当的标记。现在修复。 –

+0

主题名称是100bags,如果我尝试在该函数中放入此主题名称,则会收到错误消息。我应该将这个函数放在template.php中吧? –

相关问题