Drupal 7中按内容类型的主题节点

Posted

技术标签:

【中文标题】Drupal 7中按内容类型的主题节点【英文标题】:Theming node by content type in Drupal 7 【发布时间】:2014-01-01 09:23:00 【问题描述】:

我正在从头开始构建一个 drupal 主题,但遇到了一个问题 - 尝试按内容类型为节点设置主题时 <?php print render($content); ?> 什么也没给我。 我的 template.php 文件:

<?php
function etalonestate_preprocess_page(&$vars) 
    if (isset($vars['node']->type)) 
        $vars['theme_hook_suggestions'][] = 'page__' . $vars['node']->type;
    

?>

提前致谢:)

【问题讨论】:

【参考方案1】:

在你的 tpl 文件中,你要渲染的地方($content)你必须放在第一行附近:

hook_preprocess_page();

希望这会有所帮助。

【讨论】:

添加了您在页面--property.tpl.php 中建议的代码。出现致命错误:调用未定义函数 hook_preprocess_page() 我认为你必须把它放到你的 node.tpl.php 中。但我确信这条线将是必需的。如果这不起作用,您必须将“hook”替换为您自己的模板名称,例如 mytemplatename_preprocess_page()

以上是关于Drupal 7中按内容类型的主题节点的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 7“新节点创建”是不是启动/准备不同内容类型的字段?

需要在每个节点可以提交一次的内容类型的每个实例中都有一个表单 - Drupal 7

在 Drupal 中按字段搜索自定义节点?

如何在 Drupal 8 中自定义/样式/主题自定义内容类型的输出?

如何在没有面板的Views Drupal 7中将组ID作为上下文

Drupal6自定义内容类型页面主题