如何从内容类型字段中获取数据到视图中?

How do I get data from a content type field into a view?

我有一位客户希望能够对某些视图进行自定义 header。但是,我不想授予他编辑视图 header 的权限,所以我在内容类型中放置了一个字段,该字段用于机器名称 field_related_content_title 的视图。

使用的内容类型的机器名称是 landing_page,视图的机器名称是 related_content

我不太确定如何进行这项工作。我有一个基本的想法,我会在 template.php 中使用一个钩子(但完全不确定使用哪个),而且我确定我的逻辑有问题。

如有任何提示,我们将不胜感激。谢谢!

我的回答是一个问题:这个视图只显示一项(landing_page)还是多项?

您可以像显示其他字段一样显示此字段值。如果您使用的是视图 ui,请将 field_related_content_title 作为第一个字段(如果需要,使用空时隐藏)。

配置视图以获得 header(自定义文本,例如)。然后,在您的模块中,您可以使用挂钩 views_pre_render:

function mymodule_views_pre_render(&$view) {
    $view->header['area_text_custom']->options['content'] = $view->result[0]->field_related_content_title[0]['rendered'];
}

这会将 field_related_content_title 字段的值(对于第一个查看结果)放入视图的 header 中。