在节点外部显示Drupal内容类型字段

时间:2011-10-11 22:57:39

标签: drupal drupal-7 custom-fields

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

类似于$ title变量的工作原理(你可以在page.tpl.php文件中将它放在你喜欢的位置)我希望能够创建另一个名为$ subtitle的变量,该变量将调用来自当前节点并允许我在page.tpl.php文件的区域中打印出变量。

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

1 个答案:

答案 0 :(得分: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中实现挂钩后清除缓存(在admin / config / development / performance中),否则Drupal将无法启动它。