有时,您可能需要创建大量结构相同但内容不同的页面。通过标准的 AEM 界面,您将需要创建每个页面,将相应的组件拖曳到页面上并逐个地对它们进行填充。
使用基架,您可以创建一个表单(即基架),其中包含的字段反映您要用于页面的结构,然后使用此表单轻松创建基于此结构的页面。
基架(在经典 UI 中)使用 MSM 继承。
基架存储在站点管理员的工具控制台中。
scaffold由一个表单组成要创建页面的每段内容都有一个字段,以及四个重要参数组成,这些参数可通过scaffold页面的页面属性进行访问。
基架页面属性有:
基架的主体是表单。当用户希望使用基架创建页面时,他需要填充表单并单击底部的“创建”。在上面的News**示例中,表单包含以下字段:
要创建新基架,请转至工具控制台,然后转至默认页面基架并创建新页面。 单个页面模板类型将可用,即Scaffolding模板。
转到新页面的页面属性并按如上所述设置标题文本、说明、目标模板和目标路径。
接下来,您必须定义此 scaffold 将创建的页面的结构。要执行此操作,请进入scaffold页面上的设计模式。 随即显示一个链接,允许您在对话框编辑器中编辑 scaffold。
使用对话框编辑器,您可以指定每次使用此基架创建新页面时将创建的属性。
基架对话框定义的工作方式与组件类似(请参阅组件)。但还是存在一些重要差异:
sling:resourceType
属性。对于基架,定义给定段落的内容和分配组件的所有信息必须由对话框自身提供。在基架对话框中,必须通过在页面创建时使用“隐藏**”字段提交此信息来提供此信息。研究对话框编辑器中的示例新闻基架对话框可帮助了解此过程的运行方式。进入基架页面的设计模式并单击对话框编辑器链接。
现在,单击对话框字段对话框>选项卡面板>文本>文本,如下所示:
此字段的属性列表将显示在对话框编辑器的右侧,如下所示:
注意此字段的 name 属性。它具有值
./jcr:content/par/text/text
这是当基架用于创建页面时,将向其写入此字段内容的属性的名称。此属性以相对路径表示,从表示要创建页面的节点开始。它指定 text 属性,此属性位于 text 节点之下,此节点位于 par 节点之下,而 par 节点自身又是页面节点下 jcr:content 节点的子项。
它定义要输入到此字段的文本的内容存储的位置。然而,我们还需要为此内容再指定两个特性。
请注意,在普通的组件对话框中,您不必指定此信息,因为它是隐式的,对话框已绑定到特定的组件。
要指定这两类信息,可使用隐藏字段。单击第一个隐藏字段对话框>选项卡面板>文本>隐藏,如下所示:
此隐藏字段的属性如下所示:
此隐藏字段的 name 属性为
./jcr:content/par/text/textIsRich
这是用于解释存储在./jcr:content/par/text/text
处的文本字符串的布尔属性。
因为我们知道文本应解释为富文本,所以我们将此字段的 value
属性指定为 true
。
对话框编辑器允许用户更改对话框定义中现有属性的值。要添加新属性,用户必须使用 CRXDE Lite。例如,在使用对话框编辑器将新的隐藏字段添加到对话框定义时,它没有 value 属性(即名为“value”的属性)。如果涉及的隐藏字段需要设置默认的 value 属性,则必须使用其中一个 CRX 工具手动添加此属性。通过对话框编辑器本身无法添加该值。然而,此属性一旦存在,即可使用对话框编辑器编辑其值。
可通过单击查看第二个隐藏字段,如下所示:
此隐藏字段的属性如下所示:
此隐藏字段的 name 属性为
./jcr:content/par/text/sling:resourceType
并且为此属性指定的固定值为
foundation/components/textimage
它指定要用于呈现此段落文本内容的组件是文本图像组件。使用另一个隐藏字段中指定的isRichText
布尔值,组件可以按所需方式呈现存储在./jcr:content/par/text/text
的实际文本字符串。
在经典 UI 中,基架与 MSM 继承完全集成(如果适用)。
当您以基架模式打开页面(使用 Sidekick 底部的图标)时,任何使用了继承的组件都将带有以下指示标记:
这两种指示标记都表示该组件无法编辑 - 除非取消继承。
这与编辑页面内容时继承的组件类似。
单击锁符号或图像图标可以中断继承:
解锁后,您可以通过单击已解锁的挂锁符号来恢复继承 - 此操作将会丢失您所做的任何编辑。
如果继承在页面级别取消(从页面属性的Live Copy选项卡),则所有组件都将在Scaffolding模式下进行编辑(它们将以解锁状态显示)。