内容片段模型

AEM中的内容片段模型定义内容片段的内容结构,用作无头内容的基础。

要使用内容片段模型,请执行以下操作:

  1. 为实例启用内容片段模型功能
  2. 创建、配 ,内容片段模型
  3. 启用内容片段模 型,以便在创建内容片段时使用
  4. 通过配置策略,允许在所需的资产文件夹中 使用您的内 容片段

创建内容片段模型

  1. 导航到​工具资产,然后打开​内容片段模型

  2. 导览至适合您的配置的文件夹。

  3. 使用​创建​打开向导。

    注意

    如果未启用对内容片段模型的使用,则​创建​选项将不可用。

  4. 指定​模型标题。您还可以添加​TagsDescription,并根据需要选择​Enable model to enable the model

    标题和描述

  5. 使用​创建​保存空模型。 将显示一条消息,指示操作成功,您可以选择​打开​以立即编辑模型,或选择​完成​以返回控制台。

定义内容片段模型

内容片段模型使用选择​数据类型​有效地定义了生成的内容片段的结构。 使用模型编辑器,您可以添加数据类型的实例,然后配置它们以创建必需字段:

注意

编辑现有内容片段模型可能会影响相关片段。

  1. 导航到​工具资产,然后打开​内容片段模型

  2. 导航到包含内容片段模型的文件夹。

  3. 打开​Edit​所需的模型;使用快速操作,或先选择模型,然后从工具栏中选择操作。

    打开模型编辑器后,将显示:

    • left:字段已定义
    • 右侧:可用于创建字段的​数据类型(可在创建字段后使用的​属性
    注意

    当字段为​必填字段​时,左窗格中显示的​标签​将标有一个星号标记 (*)。

属性

  1. 添加字段

    • 将所需数据类型拖动到字段的所需位置:

      数据类型到字段

    • 将字段添加到模型后,右侧面板将显示可为该特定数据类型定义的​属性。 您可以在此处定义该字段的必需内容。

      • 许多属性是自解释的,有关其他详细信息,请参阅属性
      • 键入​字段标签​将自动完成​属性名称 — 如果为空,则可在之后手动更新。

      例如:

      字段属性

  2. 删除字段

    选择所需字段,然后单击/点按垃圾桶图标。 系统将要求您确认该操作。

    删除

  3. 添加所有必填字段,并根据需要定义相关属性。 例如:

    保存

  4. 选择​保存​以保留定义。

数据类型

可以选择用于定义模型的数据类型:

  • 单行文本
    • 添加一行文本的一个或多个字段;可以定义最大长度
  • 多行文本
    • 可以是富文本、纯文本或标记的文本区域
  • 数字
    • 添加一个或多个数字字段
  • 布尔型
    • 添加布尔复选框
  • 日期和时间
    • 添加日期和/或时间
  • 枚举
    • 添加一组复选框、单选按钮或下拉字段
  • 标记
    • 允许片段作者访问和选择标记区域
  • 内容引用
    • 引用任何类型的其他内容;可用于创建嵌套内容
    • 如果图像被引用,您可以选择显示缩略图
  • 片段引用
    • 引用其他内容片段;可用于创建嵌套内容
    • 数据类型可配置为允许片段作者:
      • 直接编辑引用的片段。
      • 根据相应的模型创建新内容片段
  • JSON 对象
    • 允许内容片段作者在片段的相应元素中输入JSON语法。
      • 允许AEM存储您从其他服务复制/粘贴的直接JSON。
      • JSON将传递,并在GraphQL中输出为JSON。
      • 在内容片段编辑器中包括JSON语法高亮显示、自动完成和错误高亮显示。
  • 制表符占位符
    • 允许引入在编辑内容片段内容时使用的选项卡。
      这将在模型编辑器中显示为分隔条,分隔内容列表类型的部分。 每个实例都表示新选项卡的开始。
      在片段编辑器中,每个实例将显示为一个选项卡。

      注意

      此数据类型仅用于格式化,而AEM GraphQL模式会忽略它。

属性

许多属性是自解释的,对于某些属性,其他详细信息如下:

  • 呈现
    方式用于在片段中实现/呈现字段的各种选项。通常,这允许您定义作者将看到字段的单个实例,还是允许创建多个实例。

  • 字段
    标签输入
    段标签将自动生 成属性名称,然后可以根据需要手动更新。

  • ValidationBasic
    验证可由Required属性等机制 ​使用。某些数据类型具有附加验证字段。 有关更多详细信息,请参阅验证

  • 对于数据类型​多行文本,可将​默认类型​定义为以下任一类型:

    • 富文本
    • Markdown
    • 纯文本

    如果未指定,则此字段使用默认值​富文本

    更改内容片段模型中的​默认类型​仅会对在编辑器中打开并保存的现有相关内容片段生效。

  • UniqueContent(对于特
    定字段)在从当前模型创建的所有内容片段中必须是唯一的。

    这用于确保内容作者不能重复已添加到同一模型的另一个片段中的内容。

    例如,在内容片段模型中名为Country的​单行文本​字段不能在两个从属内容片段中具有值Japan。 尝试第二个实例时将发出警告。

    注意

    确保每个语言根的唯一性。

    注意

    变量可以具有与同一片段的变量相同的​唯一​值,但不能具有与其他片段的任何变量相同的值。


  • 翻译在CF模型编辑器中选中某个字段上的“可翻译”复选框

    • 如果尚未存在,请确保在转换配置上下文/content/dam/<tenant>中添加字段的属性名称。
    • 对于GraphQL:将“内容片段”字段上的<translatable>属性设置为yes,以允许对仅具有可翻译内容的JSON输出进行GraphQL查询筛选。
  • 有关特定数据类型及其属性的详细信息,请参阅​内容引用

  • 有关特定数据类型及其属性的详细信息,请参阅​片段引用(嵌套片段)

验证

各种数据类型现在都可以定义在生成片段中输入内容的验证要求:

  • 单行文本
    • 比较预定义正则表达式。
  • 数字
    • 检查特定值。
  • 内容引用
    • 测试特定类型的内容。
    • 只能引用指定文件大小或更小的资产。
    • 只能引用预定义宽度和/或高度范围内的图像(以像素为单位)。
  • 片段引用
    • 测试特定内容片段模型。

使用引用表单嵌套内容

内容片段可以使用以下任何一种数据类型形成嵌套内容:

  • 内容引用

    • 提供对其他内容的简单引用;任何类型。
    • 可以为一个或多个引用(在生成的片段中)配置。
  • 片段引用 (嵌套片段)

    • 引用其他片段,具体取决于指定的特定模型。

    • 允许您包含/检索结构化数据。

      注意

      此方法与使用内容片段和GraphQL的无外设内容投放特别有用。

    • 可以为一个或多个引用(在生成的片段中)配置。

注意

AEM具有以下重复保护:

  • 内容引用
    这会阻止用户添加对当前片段的引用。 这可能导致出现空的片段引用选取器对话框。
  • GraphQL中的片段引用
    如果创建一个深层查询,它返回彼此引用的多个内容片段,则它在第一次出现时将返回null。

内容引用

“内容引用”允许您从其他源中呈现内容;例如,图像或内容片段。

除了标准属性之外,您还可以指定:

  • 任何引用内容的​根路径
  • 可引用的内容类型
  • 文件大小限制
  • 如果引用了图像:
    • 显示缩略图
    • 图像高度和宽度限制

内容引用

片段引用(嵌套片段)

片段引用引用引用一个或多个内容片段。 此功能在检索内容以在您的应用程序中使用时特别受关注,因为它允许您检索包含多个图层的结构化数据。

例如:

  • 定义员工详细信息的模型;包括:
    • 对定义雇主(公司)的模型的引用
type EmployeeModel {
    name: String
    firstName: String
    company: CompanyModel
}

type CompanyModel {
    name: String
    street: String
    city: String
}
注意

这与将内容片段与GraphQL结合使用的无外设内容投放尤其有趣。

除了标准属性之外,您还可以定义:

  • 呈现为:

    • 多字段 — 片段作者可以创建多个单独的引用

    • fragmentreference — 允许片段作者选择对片段的单个引用

  • 模型类
    型可以选择多个模型。创作内容片段时,必须使用这些模型创建了任何引用的片段。

  • 根路
    径指定所有引用片段的根路径。

  • 允许创建片段

    这将允许片段作者基于相应的模型创建新片段。

    • fragmentreferencecompose — 允许片段作者通过选择多个片段来构建合成

    片段引用

注意

已建立复发保护机制。 它禁止用户在片段引用中选择当前内容片段。 这可能导致出现空的片段引用选取器对话框。
GraphQL中还对片段引用提供循环保护。 如果您在两个相互引用的内容片段之间创建一个深层查询,它将返回null。

启用或禁用内容片段模型

为了全面控制内容片段模型的使用,您可以设置这些模型的状态。

启用内容片段模型

创建模型后,需要启用该模型,以便:

  • 在创建新内容片段时可供选择。
  • 可以从内容片段模型中引用。
  • 可用于GraphQL;因此生成模式。

要启用标记为以下任一项的模型:

  • 草稿 :mew(从未启用)。
  • 已禁用 :已特别禁用。

使用以下任一选项中的​启用​选项:

  • 选择所需的“模型”(Model)时,顶部工具栏。
  • 相应的快速操作(将鼠标悬停在所需的模型上)。

启用拔模或禁用模型

禁用内容片段模型

还可以禁用模型,以便:

  • 该模型不再作为创建​new​内容片段的基础。
  • 但是:
    • GraphQL模式仍在生成中且可查询(以避免影响JSON API)。
    • 仍可以查询基于模型的任何内容片段,并从GraphQL端点返回。
  • 模型不能再被引用,但现有引用保持不变,仍可从GraphQL端点查询和返回。

要禁用标记为​Enabled​的模型,请使用以下任一选项中的​Disable​选项:

  • 选择所需的“模型”(Model)时,顶部工具栏。
  • 相应的快速操作(将鼠标悬停在所需的模型上)。

禁用已启用的模型

允许资产文件夹上的内容片段模型

要实施内容管理,您可以在“资产”文件夹上配置​策略,以控制允许在该文件夹中创建片段的内容片段模型。

注意

该机制类似于在页面的高级属性中允许页面模板及其子项。

为​允许的内容片段模型​配置​策略:

  1. 导航并打开所需的Assets文件夹的​属性

  2. 打开​策略​选项卡,您可以在其中配置:

    • 继承自<folder>

      创建新子文件夹时,策略会自动继承;如果子文件夹需要允许与父文件夹不同的模型,则可以重新配置策略(并中断继承)。

    • 按照路径允许的内容片段模型

      可以允许使用多个模型。

    • 允许的内容片段模型

      可以允许使用多个模型。
      内容片段模型策略

  3. 存任何更改。

文件夹允许的内容片段模型解析如下:

  • 允许的内容片段模型​的​策略
  • 如果为空,则尝试使用继承规则确定策略。
  • 如果继承链未传递结果,则查看该文件夹的​Cloud Services​配置(也先直接,然后通过继承)。
  • 如果以上所有文件均未提供任何结果,则不允许使用该文件夹的模型。

删除内容片段模型

注意

删除内容片段模型可能会影响相关片段。

要删除内容片段模型,请执行以下操作:

  1. 导航到​工具资产,然后打开​内容片段模型

  2. 导航到包含内容片段模型的文件夹。

  3. 选择您的型号,然后从工具栏中选择​删除

    注意

    如果模型被引用,则会给出警告。 采取适当行动。

发布内容片段模型

内容片段模型需要在发布任何相关内容片段时/之前发布。

要发布内容片段模型,请执行以下操作:

  1. 导航到​工具资产,然后打开​内容片段模型

  2. 导航到包含内容片段模型的文件夹。

  3. 从工具栏中选择您的型号,然后选择​发布
    发布状态将在控制台中指示。

    注意

    如果您发布的内容片段尚未发布模型,则将显示一个选择列表来指示此情况,并且模型将随片段一起发布。

取消发布内容片段模型

如果内容片段模型未被任何片段引用,则可以取消发布它们。

要取消发布内容片段模型,请执行以下操作:

  1. 导航到​工具资产,然后打开​内容片段模型

  2. 导航到包含内容片段模型的文件夹。

  3. 从工具栏中选择您的型号,然后选择​取消发布
    发布状态将在控制台中指示。

内容片段模型 — 属性

您可以编辑内容片段模型的​属性:

  • 基本
    • 模型标题
    • 标记
    • 描述
    • 上传图像

On this page

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now