【问题标题】:Drupal 7 comment.tpl.php overwrite for specific node type is not workingDrupal 7 comment.tpl.php 覆盖特定节点类型不起作用
【发布时间】:2011-03-17 01:13:07
【问题描述】:
我创建了一个comment--track.tpl.php 文件,以便为我的“track”类型节点的cmets 设置主题,但我无法让Drupal 使用它。它继续使用我的主题名/comment.tpl.php 文件。我确保清除缓存,我还设置了 Devel 模块以在每次加载时重建主题注册表,但它只是不想使用我的自定义主题文件。有人有什么想法吗?
【问题讨论】:
标签:
drupal
drupal-templates
drupal-comments
【解决方案1】:
对于 Drupal 7,在您的主题文件夹“comment--node-[type].tpl.php”中创建一个新文件。
在您的情况下,文件名应为“comment--node-track.tpl.php”
【解决方案2】:
D7 中似乎缺少相应的模板建议。请参阅:D7 与 D6。不知道为什么以及这是否是一个错误,但您可以实现 yourtheme_preprocess_comment() 并自己添加以下行。
<?php
$variables['template_files'][] = 'comment-' . $variables['node']->type;
?>
【解决方案3】:
对于 Drupal 7:
comment--node-YOURNAMECONTENTTYPE.tpl.php
如果您想在内容类型中覆盖您的comment.tpl.php,名称为article,
你需要:
- 从核心 Drupal 7 复制原始文件模板
comment.tpl.php
- 将其粘贴到您的主题文件夹中
- 复制一份
- 将副本重命名为
comment--node-article.tpl.php