在上一篇中我们了解了Power Pages的常用组件,今天我要看更多的细节,以及如何在我们的页面上创建自定义内容。
技术背景
要了解Power Pages是如何工作的,有一个模型驱动的应用程序可用。这个模型驱动的应用程序可以通过Power Pages菜单的门户管理选项访问。
我们新建的页面都可以在这个门户管理里面找到
当我在门户管理应用程序中查找时,我们可以找到与我的页面匹配的内容。
我们可以对应的找出各种组件是如何工作的。
举个例子,我们可以查一下列表组件是怎么工作的,我新建一个空白网页,在上面添加一个列表组件。
然后我们可以在门户管理里面看到对应的网页记录。
另外我们也可以通过vs code(这个是新出的,看起来像是预览版)打开源代码,找到后台代码是如果写的
我们可以看到代码中关于列表的描写
{% include 'entity_list' key: '可用客户' %}
好的,我们有一个组件entity_list,我们有一个参数,值为可用客户。
创建自定义内容
我有这样一个表,里面有两个字段,描述和链接字段。我需要做一个自定义内容,用来展示这两个字段信息。
创建一个新的内容片段
现在我们要创建一些看起来像自定义组件的东西。但是,您不能像使用组件一样将这些添加到页面中
首先,我们将在Portal Management应用程序中创建一个新的代码片段。只需单击下面屏幕中的新建按钮。
在代码中,记录首先从我的Quicklinks表中读取。这个表有两个字段。描述和链接。
然后,在记录被读取后,应用程序将需要显示详细信息。这一切都可以用以下几行代码来完成:
{% assign linkrecord = entities.sx_quicklinks['8edfac94-b5a7-ed11-aad1-000d3a9c7831'] %}
{% if linkrecord %}
<b> Name: </b> {{ linkrecord.sx_description }} <br>
<i> The Link: </i> {{ linkrecord.sx_link }}
{% endif %}
这段代码的逻辑是将一条具体的quicklinks的记录赋值给变量linkrecord,判断是否有值,如果有则输出Name:记录的sx_description字段和The link:记录的sx_link字段值。
我们来测试一下这段代码是否可行:先打开代码编辑器VSCODE
然后在源代码中输入上面那一段代码,并保存
然后在Pages设计室同步代码,就可以看到如下结果
说明我们的代码是正确的,那我们要将这段代码当成组件一样使用怎么做呢,请继续阅读接下来的内容。
创建web模板
第一步,我们要创建一个web模板,通过这个web模板来调用上面我们新建的代码内容。网页模板可以有多段编码内容,我这个例子只是最简单的引用我上面写的代码内容。
创建页面模板
第二步,我们需要创建一个页面模板,用来调用上面创建的web模板。
保存以后,在Pages设计室同步一下
然后我们在添加页面的时候就可以选到我们自定义个模板内容了。
但是我们会发现这时候预览的时候它是不会显示内容出来的。
为甚么呢,因为Pages这边不具备链接这个表的访问权限。
设置快速链接表的权限。
要设置权限,我们需要在Power Pages中创建一个新的表权限。如下所示,选择表和使预览屏幕能够读取数据所需的权限。
添加权限以后,就可在预览时候访问到数据了。