使用 API 开发定制部分布局

可以在 Oracle Content Management 中使用部分布局 API(包括呈现 API 和编辑 API)开发定制部分布局。

有关要查看的入门级文件,请参见创建部分布局。部分布局的入门级文件包括有关部分布局文件结构的注释与详细信息。

呈现 API

render.js 模块加载的呈现 API 用于站点构建器中以及运行时。

呈现 API 说明 输入参数 返回结果
(构造器) 初始化部分布局呈现模块。

包含以下属性的 JavaScript 对象:

  • sectionlayoutData(对象):在页模型中找到的部分布局数据。

  • componentId(字符串):部分布局的 componentId 值,通常为 GUID。

  • renderMode(字符串,可选):呈现操作的呈现模式。

  • customSettingsData(对象):在 sectionLayoutData 中找到的 customSettingsData 副本。

初始化部分布局呈现 API。
render

将适合部分布局的 DOM 元素发到页,包括子组件的容器 DIV。

container(元素):应在其中呈现部分布局的标记的 DOM 元素。

在此方法返回后,将呈现子组件。

可以通过查找子 div[id] 元素来识别子组件。

addComponent

与内容列表组件结合使用来动态将子组件添加到部分布局。

此函数是可选的。

container(元素):应在其中呈现新组件的 DOM 元素。

componentId(字符串):要添加到部分布局的新组件的 ID。

在此方法返回后,将呈现其 ID 匹配 componentId 输入的元素。

编辑 API

如果与部分布局关联的 appinfo.json 文件中 hasEditHandlers 属性设置为 true,则将加载 edit.js 模块。

编辑 API 用于站点构建器中。

此模块中除构造器以外的所有函数都是可选的。

编辑 API 说明 输入参数 返回结果
(构造器) 初始化部分布局编辑模块。

包含以下属性的 JavaScript 对象:

  • componentId(字符串):部分布局的 componentId 值,通常为 GUID。

初始化部分布局编辑 API。

getCapabilities

返回描述部分布局的编辑功能的对象。

描述部分布局的编辑功能的 JavaScript 对象。

输入后,将向该函数提供默认功能。该函数可以根据需要修改功能对象。

功能对象可以包含以下功能:

  • title(字符串):要向用户显示的部分布局标题。

  • settingsTitle(字符串):要在“设置”面板对话框中显示的标题。

  • hasSettings(布尔值):指示部分布局是否支持“设置”面板。

  • allowMove(布尔值):指示部分布局是否允许移动子项。

  • allowDelete(布尔值):指示部分布局是否允许删除子项。

  • isHidden(布尔值):指示当前是否根据用户选项隐藏了部分布局。

  • dropTarget(布尔值):指示部分布局是否是拖放操作的目标。

  • customMenuOptions(数组):要添加到部分布局上下文菜单的定制菜单选项。每个菜单选项对象都具有以下属性:

    • label(字符串):菜单项的显示文本。

    • action(函数):单击菜单项时要调用的函数。

    • disabled(布尔值):指示菜单项应以禁用状态显示。

    • icon(字符串):要与标签一起显示在菜单项中的 URL。(此属性保留供将来使用。)

    • checkmark(布尔值):指示复选标记应与标签一起显示在菜单项中。

    • subMenuItems(数组):要显示在子菜单中的菜单选项。

(对象):部分布局的功能。

getCaptionContent

返回部分布局显示名称,此名称将显示在 UI 元素中。

无。

(字符串):部分布局的显示名称。

filterCapabilities

允许部分布局在菜单显示给用户之前修改功能对象。

可以使用此 API 调整或删除菜单选项。(另请参见 getCapabilities。)

描述部分布局的编辑功能的 JavaScript 对象。输入后,将向该函数提供默认功能。

(对象)部分布局的功能。
onDragOver 在执行拖放操作期间调用,以指示是否可以将拖动项放置在部分布局上。

eventObject(事件对象):用于保存有关拖动事件的信息的事件对象。

dataTransfer(DataTransfer 对象):用于保存有关要在部分布局上拖动的项的信息的 DataTransfer 对象。

(布尔值)指示部分布局是否可以接受拖动项的值。

如果部分布局可以接受拖动项,则返回 true,否则返回 false

onDrop 在执行拖放操作的放置部分期间调用,以指示是否应将拖动项放置在部分布局中。

eventObject(事件对象):用于保存有关放置事件的信息的事件对象。

dataTransfer(DataTransfer 对象):用于保存有关要放置在部分布局上的项信息的 DataTransfer 对象。

(布尔值)指示部分布局是否已处理放置操作的值。

返回 true 表示绕过默认逻辑。

onAddComponent 向部分布局通知拖放操作已在部分布局中添加项。

eventObject(事件对象):用于保存有关拖动事件的信息的事件对象。

dataTransfer(DataTransfer 对象):用于保存有关要放置在部分布局上的项信息的 DataTransfer 对象。

componentId(字符串):新添加项的 componentId 值。

部分布局通知。
onMoveComponent

向部分布局通知拖放操作已在部分布局中移动项。

eventObject(事件对象):用于保存有关拖动事件的信息的事件对象。

dataTransfer(DataTransfer 对象):用于保存有关要放置在部分布局上的项信息的 DataTransfer 对象。

componentId(字符串):已移动项的 componentId 值。

部分布局通知。
getSettingsData

允许部分布局在显示“设置”面板之前更改设置数据。

settingsData(对象):为部分布局计算的默认设置数据

(对象)部分布局的设置数据。
updateSettings

允许部分布局在关闭了“设置”面板之后更改其设置。

在页模型中存储设置之前调用此 API。

parameters(对象):从“设置”面板返回的原始参数对象。

sectionLayoutData(对象):将存储的部分布局数据。将从 parameters(对象)生成默认数据,并将其传递到此参数中的函数。

(对象)要存储在页模型中的部分布局数据。
dispose

允许编辑模块释放内存、分离事件以及撤消分配与编辑处理程序关联的资源。

部分布局需要彻底重绘(例如撤消/重做操作)时调用此 API。

无。 启用重绘部分布局。