Vývoj vlastných rozložení sekcií pomocou rozhraní API

V službe Oracle Content Management môžete vyvíjať vlastné rozloženia sekcií pomocou rozhrania API pre rozloženie sekcií, ktoré zahŕňa rozhrania API na vykresľovanie a rozhrania API na úpravy.

Informácie o východiskových súboroch, ktoré si môžete pozrieť, nájdete v časti Vytvorenie rozloženia sekcie. Východiskové súbory pre rozloženia sekcií obsahujú komentáre s podrobnosťami o štruktúre súborov rozložení sekcií.

Rozhrania API vykresľovania

Rozhrania API vykresľovania sa načítavajú z modulu render.js a používajú sa v generátore lokalít a v čase behu.

Rozhranie API vykresľovania Popis Vstupné parametre Výsledok
(Konštruktor) Inicializuje modul vykresľovania rozloženia sekcií.

Objekt JavaScriptu, ktorý obsahuje nasledujúce vlastnosti:

  • sectionlayoutData (objekt): dáta rozloženia sekcie v modeli stránky.

  • componentId (reťazec): hodnota componentId rozloženia sekcie, obvykle je to identifikátor GUID.

  • renderMode (reťazec, voliteľný): režim vykresľovania pre operáciu vykresľovania.

  • customSettingsData (objekt): kópia vlastnosti customSettingsData z vlastnosti sectionLayoutData.

Rozhrania API vykresľovania rozloženia sekcií sú inicializované.
render

Na stránku odošle prvky DOM, ktoré sú vhodné pre rozloženie sekcie, vrátane kontajnerových častí DIV pre podradené komponenty.

container (prvok): prvok DOM, do ktorého sa má vykresliť markup rozloženia sekcie.

Po vrátení tejto metódy sa vykreslia podradené komponenty.

Podradené komponenty môžete identifikovať vyhľadaním podradených prvkov div[id].

addComponent

Používa sa spolu s komponentmi zoznamu obsahu na dynamické pridanie podradených komponentov do rozloženia sekcie.

Táto funkcia je voliteľná.

container (prvok): prvok DOM, v ktorom sa má vykresliť nový komponent.

componentId (reťazec): ID nového komponentu, ktorý sa má pridať do rozloženia sekcie.

Po vrátení tejto metódy sa vykreslí prvok, ktorého ID sa zhoduje so vstupom componentId.

Rozhrania API úprav

Modul edit.js sa načíta, ak je vlastnosť hasEditHandlers v súbore appinfo.json spojenom s rozložením sekcie nastavená na hodnotu true.

Rozhrania API úprav sa používajú v generátore lokalít.

Okrem konštruktora sú všetky funkcie v tomto module voliteľné.

Rozhranie API úprav Popis Vstupné parametre Výsledok
(Konštruktor) Inicializuje modul úprav rozloženia sekcií.

Objekt JavaScriptu, ktorý obsahuje nasledujúcu vlastnosť:

  • componentId (reťazec): hodnota componentId rozloženia sekcie, obvykle je to identifikátor GUID.

Rozhrania API úprav rozloženia sekcií sú inicializované.

getCapabilities

Vráti objekt popisujúci možnosti úprav rozloženia sekcie.

Objekt JavaScriptu, ktorý popisuje možnosti úprav rozloženia sekcie.

Pri vstupe sa do funkcie zadajú predvolené možnosti. Táto funkcia môže v prípade potreby modifikovať objekt Capabilities.

Objekt Capabilities môže obsahovať nasledujúce možnosti:

  • title (reťazec): nadpis rozloženia sekcie, ktorý sa má zobraziť používateľovi.

  • settingsTitle (reťazec): nadpis, ktorý sa má zobraziť v dialógovom okne panela nastavení.

  • hasSettings (boolovská hodnota): určuje, či rozloženie sekcie podporuje panel nastavení.

  • allowMove (boolovská hodnota): označuje, či rozloženie sekcie povoľuje presun podradených položiek.

  • allowDelete (boolovská hodnota): označuje, či rozloženie sekcie povoľuje odstránenie podradených položiek.

  • isHidden (boolovská hodnota): označuje, či je rozloženie sekcie momentálne skryté v dôsledku používateľských volieb.

  • dropTarget (boolovská hodnota): označuje, či je rozloženie sekcie cieľom pre operácie presunutia myšou.

  • customMenuOptions (pole): vlastné voľby ponuky, ktoré sa majú pridať do kontextovej ponuky rozloženia sekcie. Každý objekt voľby ponuky má nasledujúce vlastnosti:

    • label (reťazec): zobrazovaný text položky ponuky.

    • action (funkcia): funkcia, ktorá sa má vyvolať po kliknutí na položku ponuky.

    • disabled (boolovská hodnota): označuje, že položka ponuky sa má zobraziť v deaktivovanom stave.

    • icon (reťazec): adresa URL, ktorá sa má zobraziť vedľa textu v položke ponuky. (Táto vlastnosť je rezervovaná na použitie v budúcnosti.)

    • checkmark (boolovská hodnota): označuje, či sa má vedľa textu položky ponuky zobraziť znak začiarknutia.

    • subMenuItems (pole): voľby ponuky, ktoré sa majú zobraziť v podponuke.

(Objekt) Možnosti pre rozloženie sekcie.

getCaptionContent

Vráti zobrazovaný názov rozloženia sekcie, ktorý sa bude zobrazovať v prvkoch používateľského rozhrania.

Žiadne.

(Reťazec) Zobrazovaný názov rozloženia sekcie.

filterCapabilities

Povoľuje rozloženiu sekcie upraviť objekt Capabilities pred zobrazením ponúk používateľovi.

Pomocou tohto rozhrania API môžete upraviť alebo odstrániť voľby ponuky. (Pozrite si aj getCapabilities.)

Objekt JavaScriptu, ktorý popisuje možnosti úprav rozloženia sekcie. Pri vstupe sa do funkcie zadajú predvolené možnosti.

(Objekt) Možnosti pre rozloženie sekcie.
onDragOver Volá sa počas operácie presunu myšou s cieľom určiť, či je položku možné presunúť do rozloženia sekcie.

eventObject (objekt udalosti): objekt udalosti, ktorý obsahuje informácie o udalosti presunu myšou.

dataTransfer (objekt DataTransfer): objekt DataTransfer, ktorý obsahuje informácie o objekte presúvanom ponad rozloženie sekcie.

(Boolovská hodnota) Hodnota, ktorá označuje, či rozloženie sekcie môže akceptovať presúvanú položku.

Vráti hodnotu true (pravda), ak rozloženie sekcie môže akceptovať presúvanú položku, inak vráti hodnotu false (nepravda).

onDrop Volá sa počas fázy pustenia operácie presunu myšou a určuje, že sa má presúvaná položka vložiť do rozloženia sekcie.

eventObject (objekt udalosti): objekt udalosti, ktorý obsahuje informácie o udalosti pustenia.

dataTransfer (objekt DataTransfer): objekt DataTransfer, ktorý obsahuje informácie o objekte púšťanom do rozloženia sekcie.

(Boolovská hodnota) Hodnota, ktorá označuje, či rozloženie sekcie spracovalo operáciu pustenia.

Ak sa vráti hodnota true (pravda), predvolená logika sa obíde.

onAddComponent Oznámi rozloženiu sekcie, že do rozloženia sekcie bola v rámci operácie presunu myšou pridaná položka.

eventObject (objekt udalosti): objekt udalosti, ktorý obsahuje informácie o udalosti presunu myšou.

dataTransfer (objekt DataTransfer): objekt DataTransfer, ktorý obsahuje informácie o objekte púšťanom do rozloženia sekcie.

componentId (reťazec): hodnota componentId novej pridanej položky.

Upozornenie rozloženia sekcie.
onMoveComponent

Oznámi rozloženiu sekcie, že do rozloženia sekcie bola v rámci operácie presunu myšou presunutá položka.

eventObject (objekt udalosti): objekt udalosti, ktorý obsahuje informácie o udalosti presunu myšou.

dataTransfer (objekt DataTransfer): objekt DataTransfer, ktorý obsahuje informácie o objekte púšťanom do rozloženia sekcie.

componentId (reťazec): hodnota componentId presúvanej položky.

Upozornenie rozloženia sekcie.
getSettingsData

Povoľuje rozloženiu sekcie zmeniť dáta nastavení pred zobrazením panela nastavení.

settingsData (objekt): dáta predvolených nastavení, ktoré sa vypočítali pre rozloženie sekcie.

(Objekt) Dáta nastavení pre rozloženie sekcie.
updateSettings

Povoľuje rozloženiu sekcie zmeniť nastavenia po zatvorení panela nastavení.

Toto rozhranie API sa volá tesne pred uložením nastavení v modeli stránky.

parameters (objekt): objekt neformátovaných parametrov, ktorý sa vráti z panela nastavení.

sectionLayoutData (objekt): dáta rozloženia sekcie, ktoré sa uložia. Z objektu parameters (objekt) sa vygenerujú predvolené dáta, ktoré sa odovzdajú do funkcie v tomto parametri.

(Objekt) Dáta rozloženia sekcie, ktoré sa majú uložiť v modeli stránky.
dispose

Povoľuje modulu úprav uvoľniť pamäť, odpojiť udalosti a zrušiť alokáciu prostriedkov, ktoré sú priradené k obslužným programom úprav.

Toto rozhranie API sa volá, keď je potrebné úplne prekresliť rozloženie sekcie, napríklad pri operácii odvolania a opakovania.

Žiadne. Prekreslenie rozloženia sekcie je aktivované.