练习 - 创建可扩展 Web 模板

已完成

本动手实验旨在引入构建和扩展 Liquid 模板的概念。

如果您有可供使用的示例数据,则能够极大提升本练习的效果。 根据您使用的环境,您可能希望安装一些示例数据来帮助练习。 Microsoft Dataverse 为您提供按需添加示例数据的功能。 如果您使用的环境未安装示例数据,请按照添加或删除示例数据文档中的步骤在环境中安装示例数据。

学习目标

这些练习的目标是帮助您学习如何:

  • 使用 extendblock 标记扩展 Liquid 模板。
  • 使用 include 标记重用 Liquid 模板。
  • 将表权限应用到新模板的结果。

先决条件

在本练习中,您需要确保已在环境中设置以下参数:

  • 已预配的 Power Pages 网站。 如果没有可用的 Power Pages 网站,请按照使用 Power Pages 创建站点说明创建一个网站。
  • Power Pages Management 应用的访问权限。

简要步骤

若要完成本练习,您需要完成以下简要任务:

  • 通过访问用作布局基块的 Dataverse 数据来创建部分模板。

  • 新建模板扩展两列布局 Web 模板。

  • 覆盖侧面板以包括部分模板。

  • 更改现有网页的模板。

  • 设置表权限以向匿名用户显示数据。

详细步骤

要完成本练习,您需要构建新页面模板,其中包括列出 Dataverse 所有客户的侧面板。

创建部分模板

您的第一项任务是创建部分模板,部分模板不用于呈现页面,但将插入其他模板。

  1. 登录 Power Pages 主页

  2. 在右上角选择目标环境。

  3. 找到您的网站,展开扩展菜单(省略号),然后选择门户管理以打开 Power Pages Management 应用。

  4. 选择 Web 模板

  5. 选择新建

  6. 输入以下值:

    • 名称 - 目录

    • 网站 - 选择当前网站

    • - 输入以下内容:

    {% fetchxml accounts %}
    <fetch>
      <entity name="account">
        <attribute name="name" />
      </entity>
    </fetch>
    {% endfetchxml %}
    
    {% if accounts.global_permission_granted %}
      <ul>
        {% for account in accounts.results.entities %} 
        <li>{{ account.name }}</li>
        {%- endfor -%}
      </ul>
    {% else %}
      <div class="alert alert-warning">You do not have permissions to access the directory.</div>
    {% endif %}
    
  7. 选择保存并关闭

扩展现有模板

接下来,新建扩展现有 Liquid 模板的新模板,然后插入之前创建的模板。

  1. 选择Web 模板

  2. 选择新建

  3. 输入以下值:

    • 名称 - 目录模板

    • 网站 - 选择当前网站

    • - 输入以下内容:

    {% extends "Layout 2 Column Wide Left" %}
    
    {% block aside %}
      <h2>Directory</h2>
      {% include 'Directory' %}
    {% endblock %}
    
  4. 选择保存并关闭

创建页面模板并与该页面关联

在本任务中,您将创建使用新 Web 模板并且包括目录输出的页面模板。

  1. 选择页面模板

  2. 选择新建

  3. 输入以下值:

    • 名称 - 目录页面模板

    • 网站 - 选择当前网站

    • 类型 - 选择Web 模板

    • Web 模板 - 选择目录模板

    • 表名 - 选择网页

  4. 可选:向页面内容添加文本元素,然后输入您选择的文本。

  5. 选择保存并关闭

测试初始模板

下一步是测试您的新模板是否有效:

  1. 返回到 Power Pages 主页选项卡或打开一个新选项卡。

  2. 找到网站,然后选择编辑以打开 Power Pages 设计工作室。

  3. 选择同步以同步所做的更改。

  4. 选择页面工作区。

  5. 选择 + 页面。 在添加页面对话框中,完成以下步骤:

    1. 输入目录作为页面名称。

    2. 选择自定义布局,然后选择目录页面模板

    3. 选择添加

空白页面将在右侧面板中显示消息“您无权访问目录”。

添加表权限

警告

向匿名用户授予全局读取权限仅用于说明目的。 请谨慎行事,避免通过授予过多的权限并且未在视图或 FetchXML 表达式中包含适当的筛选器而无意中暴露敏感信息。

按照以下步骤添加表权限。

  1. 选择设置工作区,然后选择表权限

  2. 选择 + 新建

  3. 输入以下值:

    • 名称 - 帐户目录

    • - 选择帐户(帐户)

    • 访问类型 - 选择全局访问

    • 权限 - 选择读取

  4. 选择添加角色

  5. 选择匿名用户经过身份验证的用户

  6. 选择保存

测试模板

您的最后一项任务是测试新模板:

  1. 选择页面工作区,然后选择目录页面。

  2. 选择预览 > 桌面

    注意

    仅刷新浏览器页面将不足以更新数据。 使用此命令可重新构建站点缓存。

现在页面应该显示并且在右侧面板中包括客户列表。

包含客户列表的页面的屏幕截图。