我有一个客户希望能够在某些视图上放置自定义标头。但是,我不想授予他编辑视图标题的权限,所以我在用于视图的内容类型中放入了一个字段,该字段的机器名为field_related_content_title
。
所使用的内容类型的机器名称为landing_page
,视图的机器名称是related_content
。
我不太确定如何使它工作。我有一个基本的想法,我会在template.php中使用一个钩子(但根本不确定该使用哪一个),我确信我的逻辑是错误的。
任何提示都将不胜感激。谢谢
配置视图以便具有标题(自定义文本,示例)。然后,在您的模块中,您可以使用挂钩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字段的值(对于第一个视图结果)放在视图的头中。
您可以像显示其他字段一样显示此字段值。如果使用的是视图ui,请将field_related_content_title
作为第一个字段(如果为空,请使用隐藏)。
我的答案是一个问题:这个视图是只显示一个项目(landing_page),还是显示多个?