2012-08-08 93 views
5

我知道有很多不同的自定义模板文件,如page.tpl.php和node.tpl.php等,但有没有办法为特定的节点ID制作自定义模板?这不工作node-3.tpl.php,但有没有办法做到这一点?Drupal 6中特定节点的自定义模板?

更新代码

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

@富有 我需要同样的东西,我尝试了你在这里提到的,但它没有为我呈现。如果我没有错,我需要在template.php中追加这个函数? – 2016-04-27 14:47:26

回答

4

为Drupal 6中,页面模板是页面节点-3.tpl.php'和阅读手册在http://drupal.org/node/1089642

的Drupal 7,页 - 节点 - -3.tpl.php:http://drupal.org/node/1089656

Thanks @Clive and @asiby。

+0

这是Drupal的7. Drupal的6手册在这里:http://drupal.org/node/1089642,正确的模板文件是'page-node-3.tpl.php' – Clive 2012-08-08 18:47:53

+0

我试过,是的, ,但这是整个页面。所以我将不得不复制我的页面模板。所以,现在如果我需要对页面模板进行调整,我将不得不记住要在两个或者多个地方为我做的很多自定义节点模板进行调整。我只想定制给定节点的节点显示而不是整个页面。 – 2012-08-08 20:22:09

+0

@ErichH。如果您要覆盖节点模板,则还需要在主题中包含核心'node.tpl.php'文件的副本。如果你还没有,复制它,清除缓存,你应该很好去 – Clive 2012-08-08 20:30:01

0

确保您重建主题注册表。如果不这样做,将导致Drupal完全忽略您将添加的node-x.tpl.php文件。