2011-10-11 93 views
1

我在Drupal 7中创建了一个内容类型的自定义字段,我需要在页面的单独区域中显示该节点以外的内容。在节点外显示Drupal内容类型字段

与$ title变量的工作方式类似(您可以将它放在page.tpl.php文件所在的位置)我希望能够创建另一个名为$ subtitle的变量,它将调用数据当前节点并允许我在page.tpl.php文件的某个区域中输出变量。

我已经看到一个视图示例似乎使用视图和块来完成这项任务,但这似乎有点过分,并且想知道是否有更简单的方法。

回答

2

有一种更简单的方法,你需要记住,尽管不是每个页面都是节点页面,并且不是每个节点页面都是正确的内容类型,所以你应该有选择性。只需添加到您的主题的template.php文件中:

function mytheme_preprocess_node(&$vars) { 
    $node = $vars['node']; 
    if ($node->type == 'my_type') { 
    $vars['subtitle'] = $node->field_my_field[LANGUAGE_NONE][0]['value']; 
    } 
} 

然后在page.tpl.php你应该做这样的事情:

if (isset($subtitle)) : 
    echo $subtitle; 
endif; 

确保您清除缓存(在管理/配置/开发/性能)一旦你已经在template.php中实现了钩子,或者Drupal将不会提取它。

+0

谢谢!工作过一种享受! –

相关问题