【问题标题】:How do I get data from a content type field into a view?如何将内容类型字段中的数据获取到视图中?
【发布时间】:2015-11-14 15:33:03
【问题描述】:

我有一个客户希望能够在某些视图上放置自定义标题。但是,我不想授予他编辑视图标题的权限,因此我在用于视图的内容类型中放置了一个字段,机器名称为 field_related_content_title

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

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

任何提示将不胜感激。谢谢!

【问题讨论】:

  • 我也尝试在全局 PHP 标头中使用 <h2 class="title"> <?php echo variable_get('field_related_content_title'); ?> </h2>,当 h2 打印到页面时,结果为空白。

标签: php drupal drupal-7 drupal-views


【解决方案1】:

配置视图以获得标题(自定义文本,例如)。然后,在您的模块中,您可以使用钩子 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 字段的值(对于第一个视图结果)放在视图的标题中。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我试过了,但是这会将每个视图项的相关内容字段放在我需要的标题中。
    【解决方案3】:

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

    【讨论】:

    • 这应该是评论,而不是答案。
    • 答案不能是问题,对不起。
    • 我不知道,但我不能评论,因为我是新手。 :) 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多