如何从内容类型字段中获取数据到视图中?
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 中。
我有一位客户希望能够对某些视图进行自定义 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 中。