使用 API 開發自訂區段版面配置

您可以在 Oracle Content Management 中使用「區段版面配置 API」開發自訂區段版面配置,此 API 包括呈現 API 和編輯 API。

如需查看入門檔案,請參閱建立區段版面配置。區段版面配置的入門檔案包含關於區段版面配置檔案結構的詳細註解。

呈現 API

呈現 API 是從 render.js 模組載入,在「網站產生器」中和程式實際執行時使用。

呈現 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

傳回使用者介面元素中將顯示的區段版面配置顯示名稱。

無。

(字串):區段版面配置的顯示名稱。

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。

無。 啟用重新繪製區段版面配置。