开发核心组件

何时使用核心组件?

由于核心组件是全新的,并且具备多种优势,因此建议新的 AEM 项目使用这些组件。对于现有项目,可以考虑在进行更大型项目工作期间进行迁移,例如在重新品牌化或整体重构工作期间。

因此,Adobe提出以下建议:

  • 新项
    目新项目应始终尝试使用核心组件。如果核心组件不能直接使用或extended满足项目要求,请按照核心组件中规定的组件架构创建自定义组件。 除非另有可能,否则请避免使用基础组件
  • 现有
    ProjectsRecommendation将继续使用 基础组件,除非计划进行站点或组件重构。
    由于它们在大多数现有项目中得到广泛应用,因此将继续支持基础组件
  • 新自定义
    组件评估是否可 以自定义现有核心组件
    否则,建议按照组件准则构建新的自定义组件。
  • 现有自定
    义组件如果您的组件按预期工作,则可以按原样进行保留。

    否则,请参阅上面的“New Custom Components”(新建自定义组件)。

如何成功使用核心组件

核心组件功能强大、灵活,易于使用和自定义。 遵循几个关键指 南将确保您的核心组件项目取得成功。

迁移到核心组件

任何新项目都应通过核心组件来实施。 但是,现有项目通常具有广泛的基础组件实施。

对现有项目(例如重新品牌化或整体重构)进行更大的投入通常会优惠到迁移到核心组件的机会。 为了促进这一迁移,Adobe提供了一些迁移工具,鼓励采用核心组件和最新的AEM技术。

AEM现代化工 具套件可轻松转换:

  • 静态模板到可编辑模板
  • 设计配置到策略
  • 基础组件到核心组件
  • 经典 UI 到触控式 UI

有关这些工具的使用的详细信息,请参阅其文档

注意

AEM现代化工具是一项社区工作,不受Adobe支持或授权。

核心组件支持

核心组件是 AEM 的一个组成部分,依原样提供支持,并作为“快速入门”的一部分提供,须遵循相同的条款和条件。

与其他AEM产品功能一样,一般规则是:首先宣布弃用组件,并且最早删除以下AEM版本的组件。 这样,客户在放弃支持之前,至少可以在一个发布周期中迁移到新版本的组件。

每个组件的版本都清楚地声明了其支持的 AEM 版本。当某个 AEM 版本不再受到支持时,该版本 AEM 的核心组件也不再受到支持。

有关支持组件自定义的详细信息,请参阅自定义核心组件页。

技术能力

下表概述了核心组件与基础组件之间的差异。

有关其创作功能和预配置选项的详细信息,请参阅有关这些功能的创作页面

功能 核心组件 基础组件
逻辑实现 带有Sling Models注释的Java POJO JSP代码
标记定义 HTML模板语言 (HTL)语法 JSP代码
XSS清理 由HTL自动化 大多为手动
CSS类命名 基于块元素修饰符(BEM)记号的标准命名约定(从版本2.0.0开始) 自定义方案
对话框定义 珊瑚3 Coral 2 +经典UI
JSON输出 Sling Models Exporter和Jackson系列化 默认Sling Servlet
版本控制 对于模型和HTL
测试 单元测试+集成测试 集成测试
交付 通过公共GitHub 通过快速入门
License Apache License Adobe专有
贡献 通过拉入请求 不可能
辅助功能 完全符合WCAG 2.0 AA标准 仅部分符合WCAG 2.0 AA标准

组件列表

下表列表了可用的核心组件(链接到其API),并指示它们替换的基础组件。

核心组件 描述 已替换基础组件
页面 使用模板编辑器的响应式页面 /libs/foundation/components/page /libs/wcm/foundation/components/page
痕迹导航 页面层次结构导航 /libs/foundation/components/breadcrumb
标题 H1-H6标题 /libs/foundation/components/title /libs/wcm/foundation/components/title
文本 富文本 /libs/foundation/components/text /libs/foundation/components/table /libs/wcm/foundation/components/text
图像 智能和延迟加载最佳再现大小 /libs/foundation/components/image /libs/foundation/components/adaptiveimage /libs/foundation/components/logo /libs/foundation/components/mobileimage /libs/foundation/components/mobilelogo /libs/wcm/foundation/components/image
列表 页面列表 /libs/foundation/components/list /libs/foundation/components/mobilelist /libs/wcm/foundation/components/list
社交媒体共享 Facebook和Pinterest共享构件 -
表单容器 响应式表单段落系统 /libs/foundation/components/form/start /libs/foundation/components/form/end
表单文本 文本输入字段 /libs/foundation/components/form/text /libs/foundation/components/form/password
表单选项 多选项输入字段 /libs/foundation/components/form/checkbox /libs/foundation/components/form/radio /libs/foundation/components/form/dropdown
隐藏的表单 隐藏输入字段 /libs/foundation/components/form/hidden
表单按钮 提交或自定义按钮 /libs/foundation/components/form/submit
导航 列表嵌套页面层次结构的站点导航组件 /libs/foundation/components/topnav /libs/foundation/components/mobiletopnav
语言导航 列表全球语言结构的语言和国家/地区转换程序 -
快速搜索 在下拉菜单中将结果显示为就地建议的搜索组件 /libs/foundation/components/search
Teaser 允许内容作者轻松创建Teaser以使用图像、标题或富文本进一步创建内容,并链接到其他内容或其他操作 -
选项卡 允许内容作者在多个选项卡中组织页面内容 -
轮播 允许内容作者在旋转的幻灯片轮盘中组织内容 /libs/foundation/components/carousel
内容片段 允许显示内容片段 -
内容片段列表 允许显示内容片段列表 -
分隔符 分隔页面上的内容 -
折叠 在可折叠的面板中组织内容面板 -
容器 在容器内组织组件 -
按钮 在页面上创建按钮 -
下载 向页面添加可下载的资源 -
体验片段 将体验片段添加到页面 /libs/cq/experience-fragments/editor/components/experiencefragment
嵌入 在页面中嵌入外部资源 -
进度条 以可视方式呈现实现目标的进展情况 -
PDF 查看器 在页面上显示PDF文档 -

即将推出的组件

有关即将推出的核心组件路线图的概述,请参阅GitHub上的专题wiki

升级核心组件

版本化组件的一个好处是,它允许将迁移从迁移到新组件版本分离到新的AEM版本。 此外,如果有新组件版本可用,它允许将每个组件单独迁移到新版本。

迁移到新的AEM版本不会影响核心组件的工作方式,前提是其版本还支持要迁移到的新AEM版本。 对核心组件进行的自定义也不应受到影响,只要它们不使用已弃用或已删除的API

迁移到核心组件的新版本也不会影响组件的工作方式,但可能会为页面作者引入新功能,这可能需要模板编辑器进行一些配置,以防缺省行为不理想。 但是,可能需要调整自定义,有关详细信息,请参阅自定义核心组件页。

在此页面上