基架 scaffolding
有时您可能需要创建大量共享结构但内容不同的页面。 通过标准Adobe Experience Manager (AEM)界面,您需要创建每个页面,将相应的组件拖动到页面上,然后单独填充每个组件。
通过基架,您可以创建一个包含字段的表单(基架),这些字段反映您想要用于页面的结构,然后使用此表单轻松地基于此结构创建页面。
基架的工作原理 how-scaffolding-works
基架存储在站点管理员的 工具 控制台中。
- 打开 工具 控制台,然后单击 默认页面基架。
- 在此下,单击 Geometrixx。
- 在 Geometrixx 下,您找到名为 新闻 的 基架页面。 双击以打开此页面。
基架包含一个表单,其中针对将构成要创建页面的每个内容都有一个字段,以及通过基架页面的 页面属性 访问的四个重要参数。
基架页面属性包括:
- 标题文本:这是此基架页面本身的名称。 在本例中,它称为“News”。
- 描述:这显示在基架页面的标题下方。
- 目标模板:此基架在创建页面时将使用的模板。 在此示例中,它是 Geometrixx内容页面 模板。
- 目标路径:这是此基架将在其下创建页面的父页面的路径。 在此示例中,路径为 /content/geometrixx/en/news。
脚手架的主体就是它的形式。 当用户希望使用基架创建页面时,他填写表单并单击底部的 创建。 在上面的 新闻 示例中,该表单包含以下字段:
- 标题:这是要创建的页面的名称。 此字段始终存在于每个基架上。
- 文本:此字段对应于结果页面上的文本组件。
- 图像:此字段对应于结果页面上的图像组件。
- 图像/高级: 标题:图像的标题。
- 图像/高级: 替代文本:图像的替代文本。
- 图像/高级: 描述:图像的描述。
- 图像/高级: 大小:图像的大小。
- 标记/关键字:要分配给此页面的元数据。 此字段始终存在于每个基架上。
创建基架 creating-a-scaffold
要创建基架,请转到 工具 控制台,然后转到 默认页面基架 并创建页面。 单页模板类型可用,基架模板。
转到新页面的 页面属性 并设置 标题文本、描述、目标模板 和 目标路径,如上所述。
接下来,您必须定义此基架将创建的页面的结构。 为此,请在基架页面上进入 设计模式。 出现一个链接,允许您在 对话框编辑器 中编辑基架。
使用对话框编辑器,您可以指定每次使用此基架创建新页面时将创建的属性。
基架的对话框定义的工作方式与组件的定义类似(请参阅组件)。 但是,这里面有一些重要区别:
- 组件对话框定义呈现为普通对话框(例如,显示在对话框编辑器的中间窗格中),而基架对话框定义(虽然在对话框编辑器中显示为普通对话框)在基架页面上呈现为基架表单(如上面的 新闻 基架中所示)。
- 组件对话框仅提供定义单个特定组件内容所需的值的字段。 基架对话框必须为要创建的页面每个段落中的每个属性提供字段。
- 如果有组件对话框,则用于呈现指定内容的组件是隐式的,因此在创建段落时,会自动填充段落的
sling:resourceType
属性。 使用基架时,定义给定段落的内容和所分配组件的所有信息都必须由对话框本身提供。 在基架对话框中,必须使用 隐藏 字段提供此信息,才能在创建页面时提交此信息。
查看对话框编辑器中的示例 新闻 基架对话框有助于说明其工作方式。 在基架页面上进入设计模式,然后单击对话框编辑器链接。
现在,单击对话框字段 对话框>选项卡面板>文本>文本,如下所示:
此字段的属性列表显示在对话框编辑器的右侧,如下所示:
请注意此字段的name属性。 它有价值
./jcr:content/par/text/text
这是使用基架创建页面时要将此字段内容写入其中的属性的名称。 属性以节点中的相对路径表示,表示要创建的页面。 它指定节点文本下方的属性文本,该文本位于节点par之下,节点本身是页面节点之下jcr:content节点的子节点。
这将为将输入到此字段的文本定义内容存储的位置。 但是,我们还需要为此内容指定两个其他特征:
- 此处存储的字符串必须解释为 富文本,并且
- 应使用哪个组件将此内容呈现到生成的页面。
在常规组件对话框中,不必指定此信息,因为此信息在对话框已绑定到特定组件的事实中是隐式的。
要指定这两条信息,请使用隐藏字段。 单击第一个隐藏字段 对话框>选项卡面板>文本>隐藏,如下所示:
此隐藏字段的属性如下:
此隐藏字段的name属性为
./jcr:content/par/text/textIsRich
这是一个布尔属性,用于解释存储在./jcr:content/par/text/text
上的文本字符串。
由于我们知道文本应解释为RTF文本,因此让我们将此字段的value
属性指定为true
。
第二个隐藏字段可以通过单击它来显示,如下所示:
此隐藏字段的属性如下:
此隐藏字段的name属性为
./jcr:content/par/text/sling:resourceType
为此属性指定的固定值为
foundation/components/textimage
这指定用于呈现此段落的文本内容的组件是 文本图像 组件。 与其他隐藏字段中指定的isRichText
布尔值一起使用,组件可以按所需方式呈现存储在./jcr:content/par/text/text
中的实际文本字符串。
使用MSM继承构建基架 scaffolding-with-msm-inheritance
在经典UI中,基架与MSM继承完全集成(如果适用)。
当您在 基架 模式(使用sidekick底部的图标)中打开页面时,任何受继承约束的组件都将由以下内容指示:
- 锁定符号(适用于大多数组件;例如,文本和标题)
- 文本为 的蒙版单击以取消继承(对于图像组件)
这些图标显示了在取消继承之前,无法编辑组件。
单击锁定符号或图像图标可中断继承:
- 符号将变为打开的挂锁。
- 解锁后,即可编辑内容。
解锁后,您可以通过单击解锁的挂锁符号恢复继承 — 这将丢失您所做的任何编辑。