Show Menu
主题×

内容片段的组件

片段创作组件

建议不要扩展或更改片段编辑器中使用的实际组件,因为这些组件仍可能更改。

用于创作页面的组件

本节详细介绍了交付用于内容片段(“常规”组​ 中的内容片段 )的 原始组件
另请参阅内 容片段配置要渲染的组件 ,以了解更多信息。
Adobe Experience Manager (AEM) 内容片段是 作为独立于页面的资产来创建和管理的 。这允许您创建渠道中性内容,以及各种(特定于渠道的)变量。 然后,您可以在创作内容页面时使用这些片段及其变体 。 您还可以通过将现有内容片段资产从资产 浏览器拖到页面 (对于其他基于资产的组件,如基础组件图像)来使用它。 现成内容片段组件仅显示引用内容片段 的一个元 素。 使用组件对话框,您可以定 义要在页面上显示的元素 、变体和片段段落范围。
AEM 6.2中引入了此内容片段组件,作为文章组件的增强版本,该组件已弃用。
经典UI中不支持内容片段。

定义

内容 片段组件用于保存对内容片段资产(有效增强的文本资产)的引用。 内容片段的资源类型为:
dam/cfm/components/contentfragment/contentfragment
引用在属性中定义:
fileReference
只有触屏优化UI的编辑器完全支持内容片段组件,其中包括客户端库:
cq.authoring.editor.plugin.cfm
此库向编辑器添加特定于内容片段的功能。 例如,支持在页面上添加和配置内容片段的功能、在资产浏览器中搜索内容片段资产以及侧面板中的关联内容的功能。

中间内容

内容 ​段组件允许您将其他组件放置在显示元素的不同段落之间 内容片段的组成部分 。 基本上,显示的元素由不同段落组成(每个段落都标有回车符)。 在这些段落之间,您可以使用其他组件插入内容。
从技术角度讲,显示的元素* *的每个段落都位于其自己的parsys中,您在段落之间添加的每个组件都将(在外罩下)插入parsys中。
换句话说,如果内容片段组件的实例由三个段落组成,则组件在存储库中将具有三个不同的parsys。 添加到内容片段的所有中间内容实际上将位于这些parsys中。
在存储库中,中间内容会相对于其在整个段落结构中的位置进行存储,即它不会附加到实际的段落内容。
为了说明这一点,我们考虑一下:
  • 由三个段落组成的内容片段的实例
  • 而且,某些内容已经在第二段之后插入
    • 这意味着内容将存储在第二个parsys中。
基本上,如果此实例的段落结构发生更改(通过更改显示的变体、元素或段落范围),则可能影响内容片段内容时显示的中间内容:
  • 将编辑另一个段落并在第二个段落之前添加另一个段落:
    • 中间内容将显示在新创建的段落之后(第二个段落现在包含新创建的段落)。
  • 已编辑并删除第二个段落:
    • 中间内容将显示在之前是第三个段落的段落之后(第二个段落现在包含前一个第三个段落)。
  • 配置为仅显示第一个段落:
    • 将不显示中间内容(由于新配置,第二个parsys不再呈现)。

自定义内容片段组件

要将现成的内容片段组件用作扩展的蓝图,您应遵守以下合同:
  • 重用HTL渲染脚本及其关联的POJO,查看如何实现中间内容功能。
  • 重用内容片段节点: cq:editConfig
    • / afterinsert``afteredit``afterdelete /监听器用于触发JS事件。 这些事件将在客户端库中 cq.authoring.editor.plugin.cfm 处理,以在侧面板中显示相关内容。
    • 配置 cq:dropTargets 为支持拖动内容片段资产。
    • cq:inplaceEditing 配置为支持在页面编辑器中创作内容片段。 片段就地编辑器在客户端库中定 cq.authoring.editor.plugin.cfm 义,并允许快速链接在片段编辑器中打 开当前元素/ 变量 变量——创作片段内容

渲染前资源重写

内容片段管理使用内部渲染过程为页面生成最终HTML输出。 内容片段组件在内部使用,但在引用页面上更新引用片段的后台进程也使用。
在内部,Sling Rewriter用于该渲染。 相应的配置可在上找 /libs/dam/config/rewriter/cfm 到,并可根据需要进行调整。 有关详细 信息,请参阅Apache Sling Rewriter
开箱即用的配置使用以下变压器:
  • transformer-cfm-payloadfilter -仅用于检 body 索片段HTML的 <body>...</body> 部分()
  • transformer-cfm-parfilter -如果指定了段落范围,则过滤掉不需要的段落(如使用内容片段组件可以完成的操作)
  • transformer-cfm-assetprocessor -用于在内部检索嵌入在片段中的资产列表
渲染过程通过公开, com.adobe.cq.dam.cfm.content.FragmentRenderService 并可以(例如)根据需要由自定义组件利用。