【发布时间】:2012-01-29 08:18:39
【问题描述】:
我有一个包含音频文件字段的内容类型“音频”。该字段接受多个值,因此每个节点可以包含任意数量的音频文件。通常,当您构建 RSS 提要视图时,它会为每个节点生成一个 <item>,每个节点都会有多个 <enclosure> 条目,每个音频文件一个。但出于我的目的,我需要视图为每个音频文件值输出一个单独的<item>。因此,例如,如果选定节点中有 3 个音频文件,则整个节点将在提要中重复 3 次,每个节点将仅包含一个音频文件附件。
原因是在我的特定情况下,我在自定义模块中使用hook_node_view() 将 MRSS 标记添加到视图生成的每个节点。因此,音频文件不会被<enclosure> 包裹,而是被包裹在<media:content> 标签中。根据 MRSS 规范,每个<media:content> 条目不应超过一个<item>,除非它们代表相同的内容。这是因为像<title> 和<description> 这样的其他标签属于同一个<item> 中的所有<media:content> 标签。具有讽刺意味的是,自定义钩子是最简单的部分,但首先我需要让视图以我描述的方式输出节点。
那么有什么方法可以使用新的 Drupal 7 视图分组功能或其他方法来生成我正在寻找的输出?我很想知道诀窍!否则,我将不得不使用自定义菜单项,而失去使用 Views 获得的所有优势(例如自动缓存和能够在 Views UI 中工作)。
【问题讨论】:
标签: drupal rss drupal-7 drupal-views mediarss