我的站点中有 3 个节点。
- 节点/1 - 登录
- 节点/2 - 联系方式
- 节点/3 - 寄存器
我想为不同的节点使用不同的模板。如果我作为页面节点 1.tpl.php 、页面节点 2-tpl.php ,它适用于整个页面,我不想要那个,我想专门覆盖节点内容。
我已经尝试了以下链接:-
- Drupal 6 中特定节点的自定义模板?
- 在Drupal 7中为不同的节点使用不同的模板
我正在使用Drupal 6
我已经有一段时间没有使用 Drupal 6
了,但据我所知,Drupal 6 的默认节点模板不会有基于节点 ID 的模板建议。
这并不意味着您无法从自定义主题中执行此操作。
<?php
function THEMENAME_preprocess_node(&$vars) {
$vars['template_files'][] = 'node-' . $vars['nid'];
}
?>
在主题的模板.php中,添加上述代码,替换主题名称(或者合并函数内容,如果您已有该功能)。这将使Drupal检查node-123.tpl.php
文件(123
是一个示例节点ID),并将使用它来代替node.tpl.php
。
既然您提到您将使用node/1
或任何节点内容来嵌入登录表单,那么让我告诉您这不是一个好主意。当站点处于维护模式时,登录表单需要可访问,以后使用不同的部署环境可能很难管理它们。不过,这部分与问题完全无关。