使用Experience Manager as a Cloud Service中的内容片段编辑器扩展填充日期和时间字段
在Adobe Experience Manager as a Cloud Service中,当作者在新的内容片段编辑器中创建或编辑内容片段时,内容片段模型中的标准 日期/时间 字段保持为空。 在旧版编辑器中,这些字段已使用当前系统时间预填充,但新编辑器将它们留空,并要求作者手动输入值。 此更改会影响依赖于默认时间值的创作工作流。 要自动填充字段,请通过内容片段编辑器UI可扩展性框架实施自定义字段,并在字段值为空时设置当前时间。 要解决此问题,请创建、部署和测试自定义字段扩展。
描述 description
环境
- Adobe Experience Manager as a Cloud Service(支持内容片段编辑器UI可扩展性)
问题/症状
- 新编辑器中的内容片段中的日期/时间字段默认为空。
- 作者必须手动输入当前时间。
原因
默认情况下,新内容片段编辑器不会自动填写日期/时间字段。 要恢复此行为,必须使用可扩展性框架实施自定义字段。
解决方法 resolution
要自动填充当前时间,请执行以下步骤:
-
安装和更新Adobe App Builder CLI。
- 运行
npm install -g @adobe/aio-cli。 - 运行
aio plugins:update。
- 运行
-
使用编辑器模板初始化内容片段编辑器扩展项目:
- 运行
aio app init --template @adobe/aem-cf-editor-ui-ext-tpl。
- 运行
-
实施自定义日期/时间字段React组件:
- 使用自定义字段API注册您的自定义字段。
- 在组件中,检查字段值是否为空。 如果是,则将其设置为当前系统时间。
- 示例:
”
从“react”导入{ useEffect };
导出默认函数CustomDateTimeField({ value, onChange }) {
useEffect() => {
if (!value) {
onChange(new Date()。toISOString());
}
}, [ value, onChange] );
//在此处呈现您的日期/时间输入,允许手动覆盖
}
”
— 使用可扩展性框架,将此组件注册为日期/时间属性的自定义字段。
4. 按照AEM扩展的标准部署步骤,将扩展部署到App Builder环境。
5. 测试扩展:
— 在新编辑器中打开内容片段。
— 添加或编辑日期/时间字段,并验证是否使用当前系统时间自动填写该字段。
— 确认作者仍可以根据需要修改值。
相关阅读
recommendation-more-help
experience-cloud-kcs-help-kbarticles