【问题标题】:Using Drupal 7 views, merge data fields from 2 content types to a single row使用 Drupal 7 视图,将 2 种内容类型的数据字段合并到单行
【发布时间】:2012-04-28 20:54:09
【问题描述】:

我一直在寻找几天的解决方案,但没有任何运气。

设置如下:

TV Shows (vocabulary): show-1, show-2, show-3, ...

Episodes (content type)            Schedule (content type)
  - title                            - date/time episode airs
  - episode code <.................> - episode code
  - reference to TV Show term

1) 首先,我尝试创建一个“视图”,它采用“电视节目”术语(或 ID)作为参数,并在此基础上列出与该节目相关的所有剧集以及这些剧集的播出时间未来播出。

一个大问题是内容类型“时间表”的节点未链接到电视节目,因此所有这些都被立即排除在外。有没有办法根据输入显示与剧集链接的所有“时间表”?

2) 这个谜题的第二部分是反其道而行之,这意味着给定一天的 Views,然后列出该天内的所有计划节点。并且由于每个调度节点都包含一个“剧集代码”,该“剧集代码”链接回“剧集”,因此从“剧集”节点获取具有匹配“剧集代码”的相应信息。

听起来这两种情况都需要将两个单独的视图组合在一起,但这可能吗?

注意:当我说“剧集代码”链接这两种内容类型时,并不是真正的链接。我尝试在两种内容类型中都只使用一个文本字段,标记为“剧集代码”。我还尝试创建一个词汇表“剧集”,其中包含术语的剧集代码,然后让两种内容类型都包含“剧集”词汇表的字段。

【问题讨论】:

    标签: drupal-7 views drupal-views relationship


    【解决方案1】:

    当您创建其中一个视图时(要么显示给定分类的所有剧集,要么显示给定时间的所有剧集)——是的,这些听起来确实像两个独立的视图——只需确保展开视图的“高级”部分即可。继续添加“关系”,以便您可以访问所引用内容类型的字段。

    例如,假设您正在创建第一个视图。在这种情况下,它将是剧集的视图,您将使用分类术语的存在作为过滤器。为了能够显示 1) 存在于剧集内容类型中的字段和 2) 存在于引用的时间表内容类型中的字段,您必须将适当的关系添加到视图中。

    1. 在视图的“高级”部分中,添加适当的关系。它可能会说类似“实体引用:引用实体:通过 field_schedule 引用的内容实体的桥梁”。选择与您的参考字段名称匹配的一个,因为我只是猜测它是 field_schedule 这里。
    2. 在该关系的设置屏幕上,在“Identifier”字段中填写您容易理解的内容,例如“Referenced schedule node”。
    3. 现在开始在“Fields”部分添加您希望视图返回的字段。
    4. 当您访问属于引用内容类型(不是您开始使用的剧集内容类型)的字段时,请继续并选择该字段使用您在“ 中的步骤 2 中创建的关系”关系”下拉菜单。添加该字段后,它会在第二个设置屏幕中显示。
    5. 最后,如果您希望字段看起来都在一行中,请使用“表格”显示。

    现在 Drupal 会知道您正在尝试显示来自引用节点的字段,而不是它正在查看的当前剧集节点。

    这有点令人困惑,但我希望它有意义。这是在视图中链接引用节点的方法——使用关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多