网页

已完成

网页是任何网站的核心,包括 Power Pages。 Power Pages 网站中的网页可以同时显示静态内容和动态内容,并且您可以将网页设置为遵循站点层次结构。 网页还具有唯一结构,允许以不同语言显示内容。

网站内的每个网页行都具有以下列:

  • 网站 - 页面所属的网站。 这是一个必需列,用于以独特方式将网页行放置在特定网站内。

  • 父页面 - 网站内容层次结构中表的父网页。 所有网页都应有父页面,但网站的单根(主页)页面除外。

  • 部分 URL - 用于生成页面网站 URL 的 URL 路径段。 网站的单根(主页)页面(没有关联父页面的单个页面)的部分 URL 值必须包括正斜杠 (/)。

该层次结构为每个网页提供了足够的信息,用于计算网站中唯一的路径。

网页 父页面 部分 URL 计算出的路径
主页 - / /
资讯 主页 资讯 /news/
合作伙伴资讯 资讯 合作伙伴 /news/partners/
价目表 合作伙伴资讯 价目表 /news/partners/price-list/

当 Power Pages Web 应用收到请求时,将基于域名确定目标 Microsoft Dataverse 环境和网站行。 然后,应用会使用请求的路径部分查找具有匹配的计算路径的网页行。

在确定网页后,页面生成流程从应用着手完成以下主要步骤:

  1. 检查网页访问控制规则以确定访问者是否具有页面访问权限。

  2. 检索链接到网页的页面模板以确定将用于呈现页面的模板(固定页面模板或 Web 模板)。

  3. 处理模板,然后基于以下条件构建页面输出:

    • 静态内容,由页面内容和网站元数据(如内容片段)决定。

    • 应用使用来自 Dataverse 的数据生成的动态内容。

每个网页表示用户可访问的站点中的特定 URL。 当用户转到某个 URL 时,将显示与该 URL 关联的内容。

静态内容

网页行的属性决定静态内容,尤其是复制列,该列通常包含页面的 HTML 内容。 您可以在 Power Pages 设计工作室、Visual Studio Code 编辑器中添加或编辑此内容,也可以在门户管理应用中将它添加到内容网页中。

内容页面

通常,一个网页被引用为单个行。 此引用是出于方便;每个页面上都存在多个网页条目。 单根网页行是站点页面层次结构的一部分,您可在创建新页面时编辑该行。 页面上的其他组件是指向根条目的多个子行或内容页面。 这些组件支持多语言实施,其中每个子行负责以其中一种已配置语言表示的内容。

每个网页,即使是单一语言网站中的网页,都有一个根网页和一个基本语言的内容页面。 因此,可以稍后添加其他语言的内容。

首次创建网页时,系统会将所有属性(如名称、部分 URL、模板等)均保存在根行中。 系统会为每种语言创建内容行,并复制页面属性。 然后,门户管理应用可管理页面属性和各个内容网页行上的内容。 不同语言的页面可以具有不同的内容和模板、到期日期、导航和作者,并且您可以在不同的日期发布它们。

可以使用请求的路径来定位网页,确切地说是定位根网页。 您可以根据请求 URL(例如 https://www.contoso.com/es-ES/news)或浏览器 Cookie 定义请求语言,这将定位相应的内容页面。 内容页面定义内容和模板,但不包含有关内容的显示方式的信息,这些信息由页面模板决定。

模板

除了定义页面内容的复制列之外,模板还可以使用其他属性,如标题摘要显示日期等。 模板通常包括内容片段功能作为可重复使用的片段,例如,用于呈现版权信息等常见信息。

模板可以使用对站点地图元素的引用,如 Web 文件快捷方式Web 链接。 由于可以保护站点地图元素,因此会根据网页访问控制规则对其进行验证。 例如,如果访问者无权访问快捷方式的目标页面,默认情况下,将不会呈现快捷方式。

动态内容

可以通过使用以下属性生成动态内容:

  • 列表 - 这些属性使用 Power Apps 模型驱动应用的视图定义将 Dataverse 行列表作为网页的一部分呈现,而无需使用自定义代码。 当视图定义更改时,页面输出也会更改。

  • 窗体 - 窗体通过提供仅配置方法来呈现来自 Dataverse 行的信息,从而将 Power Apps 模型驱动应用窗体的定义放在网页上。 窗体不仅可以显示信息,还可用于创建和编辑 Dataverse 行。

  • 多步骤窗体 - 多步骤窗体与窗体相似,但包含一些其他功能。 它们可以在网站上呈现多个模型驱动应用窗体,并且可以与多个表配合使用。 多步骤窗体支持单步骤或多步骤导航以及条件分支逻辑。

  • Liquid - Liquid 是集成到 Power Pages 中的开源模板语言。 您可以使用它向页面添加动态内容以及创建各种自定义模板。 Liquid 允许访问所有网站表,即当前正在呈现的网页及其属性或站点设置。 它还可以使用视图或直接使用 FetchXML 来读取 Dataverse 数据。 有关详细信息,请参阅使用 FetchXML 生成查询

若要控制对 Dataverse 数据的访问,Power Pages 使用表权限属性。 您可以通过使用联系人与其他行之间的关系来设定表权限的范围。 例如,可以将权限应用于案例表,以将经过身份验证的网站用户限制为仅可访问自己的案例。

表权限属性视为 Dataverse 安全角色的 Power Pages 同等项。 当表权限应用于网站用户(联系人)时,安全角色与 Power Apps 用户关联。

网页构建流程的目标之一是提高安全性。 网页访问控制规则用于监管对网站结构的访问,而表权限则有助于安全访问 Dataverse 数据。

Power Pages 提供了一种强大且灵活的机制以用于构建静态页面或包含来自 Dataverse 表的数据的页面。 通过使用列表、窗体、多步骤窗体、Liquid 和 JavaScript 的组合,您可以将 Dataverse 或 Microsoft Dynamics 365 解决方案扩展到外部和内部访问群体,从而构建完整的 Web 应用。

有关详细信息,请参阅管理 Web 页面