创建用于呈现 RSS 源的自定义页面模板

在此示例中,我们将创建一个自定义页面模板,用于呈现新闻文章的 RSS 源,并在自定义页面布局中使用 Liquid。 详细信息:Web 模板

步骤 1:创建新视图

首先,我们将创建要用于加载源的数据的新视图。 在此示例中,我们将在网页中建立一个视图,然后使用此表存储我们的文章。 我们可以使用此视图排序和筛选结果,并作为列包含我们需要在 Liquid 模板中提供的表属性。

创建一个视图。

步骤 2:创建 RSS 源的 Web 模板

在此步骤中,我们将为 RSS 源创建 Web 模板。 此模板要应用于我们网站的特定网页,因此我们将使用该页的标题和摘要作为源的标题和说明。 我们将使用 entityview 标记加载我们新创建的“新闻文章”视图。 详细信息:Dataverse 实体标记。 请注意,我们还将 Web 模板的 MIME 类型字段设置为 application/rss+xml。 这指示在呈现我们的模板时可以是哪种响应内容类型。

为 RSS 源配置 Web 模板。

RSS 源(Web 模板)

<?xml version=1.0 encoding=UTF-8 ?>
<rss version=2.0>
  <channel>
    <title>{{ page.title | xml_escape }}</title>
    <description>{{ page.description | strip_html | xml_escape }}</description>
    <link>{{ request.url | xml_escape }}</link>
    {% entityview logical_name:'adx_webpage', name:'News Articles', page_size:20 -%}
      {% for item in entityview.records %}
        <item>
          <title>{{ item.adx_name | xml_escape }}</title>
          <description>{{ item.adx_copy | escape }}</description>
          <link>{{ request.url | base | xml_escape }}{{ item.url | xml_escape }}</link>
          <guid>{{ item.id | xml_escape }}</guid>
          <pubDate>{{ item.createdon | date_to_rfc822 }}</pubDate>
        </item>
      {% endfor -%}
    {% endentityview %}
  </channel>
</rss>

步骤 3:创建用于分派 RSS 源模板的页面模板

现在,我们将创建新页面模板,允许我们将 RSS 源模板分配到网站中的任何网页。 请注意,我们取消选择使用网站标题和脚注,因为我们希望接管我们的源的整个页面响应的呈现。

为 RSS 源配置页面模板。

步骤 4:创建承载 RSS 源的网页

现在只需使用 RSS 源页面布局创建新网页来托管我们的源。 在我们请求此新网页时,我们将收到我们的 RSS 源 XML:

RSS 源示例。

在此示例中,我们看到了我们如何合并 Liquid、Web 模板、Dataverse 视图和站点内容管理功能来创建自定义 RSS 源。 这些功能的组合为任何 Power Pages 应用程序增加强大的自定义功能。

另请参见

使用 Liquid 和 Web 模板页面模板创建自定义页面模板
呈现与当前页关联的列表
呈现网站标题和主要导航栏
使用混合导航最多呈现页面层次结构的三个级别