在基于核心组件的自适应表单中创建和使用自适应表单片段 adaptive-form-fragments
虽然每个表单都针对特定目的而设计,但大多数表单中都存在一些通用区段,例如提供个人详细信息,如姓名和地址、家庭详细信息、收入详细信息。 每次创建新表单时,表单开发人员都需要创建这些常用区段。
自适应Forms提供了一种便捷的机制,只需像创建面板或一组字段一样创建表单片段一次,即可在自适应Forms中重复使用。 这些可重用的独立区段称为自适应表单片段。
表单片段无缝集成到多个表单中,从而简化了创建一致且具有专业外观的表单的过程。 利用“一次更改,随处反映”功能,表单片段确保实现可重用性、标准化和品牌一致性。由于在一处作出的更新自动传播到所有利用这些片段的表单,因此可体验到更高的可维护性和效率。
您可以将片段多次添加到文档,并使用其组件的数据绑定属性将其绑定到不同的数据源或架构。 例如,您可以将相同的地址片段用于永久地址、通信地址和账单地址,并将它连接到数据源或架构的其他字段。
创建表单片段 create-a-fragment
您可以从头开始创建自适应表单片段,或将现有自适应表单中的面板另存为片段。 要创建表单片段,请执行以下操作:
-
登录您的AEM Forms实例,网址为https://[主机名]:[端口]/aem/forms.html。
-
单击 创建>自适应表单片段。
-
指定片段的标题、名称、描述和标记。 请确保为片段指定唯一的名称。 如果存在具有相同名称的其他片段,则无法创建该片段。
-
选择表单模板。 您可以为基于核心组件的自适应Forms或基于基础组件的自适应Forms创建表单片段。
- 要为基于核心组件的表单创建表单片段,请选择一个基于核心组件的模板。
- 要为基于基础组件的表单创建表单片段,请选择一个基础组件模板。 例如,/libs/fd/af/templateForFragment/defaultFragmentTemplate。
为基于核心组件的表单创建表单片段时,使用选择表单主题选项选择基于核心组件的主题。
-
单击以打开 表单模型 选项卡,从 选择自 下拉菜单中,为片段选择以下模型之一:
-
无:指定从头开始创建片段,而不使用任何表单模型。
note note NOTE 在自适应Forms中,您可以多次使用单个表单片段(基于核心组件)。 它支持基于无和基于架构的表单片段。 -
架构:指定使用上传到 AEM 表单的 XML 或 JSON 架构创建片段。 您可以上传或从可用的XML或JSON架构中选择作为片段的表单模型。 选择XML架构时,您还可以通过从 XML架构复杂类型 下拉框中选择所选架构中存在的complexType来创建自适应表单片段。 选择JSON架构时,您还可以通过从 JSON架构定义 下拉框中选择所选架构中存在的架构定义来创建自适应表单片段。
-
表单数据模型:指定使用表单数据模型创建片段。 您可以仅基于表单数据模型中的一个数据模型对象创建自适应表单片段。 展开表单数据模型定义下拉列表。 它列出了指定表单数据模型中的所有数据模型对象。 从列表中选择数据模型对象。
-
-
单击“创建 ”,然后单击“打开”,以在编辑模式下使用默认模板打开片段。在编辑模式下,您可以将任何自适应表单组件添加到片段。
创建基于架构或表单数据模型的自适应表单片段后,表单数据模型或架构元素会显示在自适应表单编辑器的内容浏览器的数据源选项卡中。 您可以将表单模型元素拖放到片段上。 添加的表单模型元素转换为表单组件,同时保留关联架构中的原始属性。
将片段添加到自适应表单 insert-a-fragment-in-an-adaptive-form
要将自适应表单片段添加到自适应表单:
-
在编辑模式下打开自适应表单。
-
将 自适应表单片段 组件添加到表单中。
-
单击侧边栏中的 Assets 内容浏览器。 在资产浏览器的路径下,选择 自适应表单片段 选项。 您的表单可用的所有自适应Forms片段都会显示,具体取决于表单的模型。
-
将自适应表单片段拖放到自适应表单上的 自适应表单片段 组件上。
note note NOTE 自适应表单片段没有启用在自适应表单中进行创作。 此外,在基于JSON的自适应表单中不能以相反的方式使用基于XSD的片段。
自适应表单片段是通过引用自适应表单添加的,并与独立的自适应表单片段保持同步。 这意味着对自适应表单片段所做的任何修改都会在片段合并到自适应Forms的所有实例中镜像。
在自适应表单中嵌入片段 embed-a-fragment-in-adaptive-form
您可以选择将自适应表单片段嵌入到自适应表单中,方法是单击
嵌入的片段不再与独立片段链接。 您可以在自适应表单中编辑嵌入片段中的组件。
在片段中使用片段 using-fragments-within-fragments
您可以创建嵌套式自适应表单片段,这意味着您可以将片段拖放到另一个片段中,并且可以具有嵌套式片段结构。
在自适应表单中多次使用表单片段 using-form-fragment-mutiple-times-in-af
您可以在自适应表单中多次使用无基于和基于架构的表单片段,以便为每个表单片段字段唯一保存数据。 例如,您可以使用地址表单片段在贷款申请表中收集永久地址、通信地址和当前居住地址的详细信息。
自动映射用于数据绑定的片段 auto-mapping-of-fragments-for-data-binding
当您使用 XFA 表单模板或 XSD 复杂类型创建自适应表单片段并将该片段拖放到自适应表单时,XFA 片段或 XSD 复杂类型将自动替换为相应的自适应表单片段,其片段模型根映射到 XFA 片段或 XSD 复杂类型。
您可以通过编辑组件对话框更改片段资源及其绑定。
您还可以从AEM内容查找器中的自适应表单片段库拖放绑定的自适应表单片段,并从自适应表单片段面板的“编辑组件”对话框中提供正确的绑定引用。
管理片段 manage-fragments
您可以使用AEM Forms UI对自适应表单片段执行多项操作。
-
转到
https://[hostname]/aem/forms.html. -
单击AEM Forms UI工具栏中的 选择,然后选择自适应表单片段。 工具栏显示您可以对选定的自适应表单片段执行的以下操作。
使用片段时要记住的要点 key-points-to-remember-when-working-with-fragments
- 确保片段名称是唯一的。 如果存在具有相同名称的现有片段,则创建片段失败。
- 在基于XDP的自适应表单中,如果您将面板另存为包含其他XDP片段的片段,则生成的片段将自动绑定到子XDP片段。 如果基于XSD的自适应表单,则生成的片段将绑定到架构根。
- 创建自适应表单片段时,会在CRXDE Lite中创建片段节点,该节点与自适应表单的guideContainer节点类似。
- 不支持自适应表单中使用其他表单数据模型的片段。 例如,基于XDP的片段在基于XSD的自适应表单中不受支持,反之亦然。
- 自适应表单片段可通过AEM内容查找器中的自适应表单片段选项卡使用。
- 通过引用插入或嵌入自适应表单中的独立自适应表单片段中的任何表达式、脚本或样式都会保留。
- 您无法从自适应表单中编辑通过引用插入的自适应表单片段。 要编辑,您需要编辑独立的自适应表单片段或将片段嵌入自适应表单中。
- 发布自适应表单时,您需要发布在自适应表单中通过引用插入的独立自适应表单片段。
- 当您重新发布更新的自适应表单片段时,更改会反映在使用片段的自适应表单的已发布实例中。
- 包含Verify组件的自适应表单不支持匿名用户。 此外,不建议在自适应表单片段中使用验证组件。
- (仅限 Mac)为确保表单片段功能在所有场景中都能完美运行,请将以下条目添加到 /private/etc/hosts 文件中:
127.0.0.1 <Host machine>主机:部署AEM Forms的Apple Mac计算机。
引用片段 reference-fragments
引用可用于创建表单的自适应表单片段。