Sie können benutzerdefinierte Abschnittslayouts in Oracle Content Management mit der Abschnittslayout-API entwickeln, die Rendering-APIs und Bearbeitungs-APIs enthält.
Ausgangsdateien finden Sie unter Abschnittslayout erstellen. Die Ausgangsdateien für Abschnittslayouts enthalten Kommentare mit Details zur Struktur von Abschnittslayoutdateien.
Rendering-APIs
Die Rendering-APIs, die aus dem Modul render.js geladen werden, werden in Sitebuilder und zur Laufzeit verwendet.
| Rendering-API | Beschreibung | Eingabeparameter | Rückgabeergebnis |
|---|---|---|---|
| (Konstruktor) | Initialisiert das Renderingmodul für Abschnittslayouts. |
Ein JavaScript-Objekt mit den folgenden Eigenschaften:
|
Die Rendering-APIs für Abschnittslayouts werden initialisiert. |
| render |
Gibt passende DOM-Elemente für das Abschnittslayout an die Seite aus, darunter Container-DIVs für untergeordnete Komponenten. |
container (Element) : Das DOM-Element, in dem das Markup des Abschnittslayouts gerendert werden soll. |
Nach Rückgabe dieser Methode werden untergeordnete Komponenten gerendert. Sie können untergeordnete Komponenten identifizieren, indem Sie untergeordnete |
| addComponent |
Wird mit Inhaltslistenkomponenten verwendet, um untergeordnete Komponenten dynamisch zu einem Abschnittslayout hinzuzufügen. Diese Funktion ist optional. |
container (Element) : Das DOM-Element, in dem die neue Komponente gerendert werden soll. componentId (Zeichenfolge): Die ID der neuen Komponente, die dem Abschnittslayout hinzugefügt wird. |
Nach Rückgabe dieser Methode wird das Element gerendert, dessen ID mit der |
Bearbeitungs-APIs
Das Modul edit.js wird geladen, wenn die Eigenschaft hasEditHandlers in der Datei appinfo.json für das Abschnittslayout auf true gesetzt ist.
Die Bearbeitungs-APIs werden in Sitebuilder verwendet.
Alle Funktionen in diesem Modul mit Ausnahme des Konstruktors sind optional.
| Bearbeitungs-API | Beschreibung | Eingabeparameter | Rückgabeergebnis |
|---|---|---|---|
| (Konstruktor) | Initialisiert das Bearbeitungsmodul für Abschnittslayouts. |
Ein JavaScript-Objekt mit der folgenden Eigenschaft:
|
Die Bearbeitungs-APIs für Abschnittslayouts werden initialisiert. |
|
getCapabilities |
Gibt ein Objekt zurück, das die Bearbeitungsfunktionen des Abschnittslayouts beschreibt. |
Ein JavaScript-Objekt, das die Bearbeitungsfunktionen des Abschnittslayouts beschreibt. Nach der Eingabe werden die Standardfunktionen für die Funktion bereitgestellt. Die Funktion kann das Capabilities-Objekt nach Bedarf ändern. Das Capabilities-Objekt kann die folgenden Funktionen umfassen:
|
(Objekt): Die Funktionen für das Abschnittslayout. |
|
getCaptionContent |
Gibt den Anzeigenamen des Abschnittslayouts zurück, der in UI-Elementen angezeigt wird. |
Kein Wert. |
(Zeichenfolge): Der Anzeigename des Abschnittslayouts. |
| filterCapabilities |
Damit kann das Abschnittslayout das Capabilities-Objekt ändern, bevor Menüs angezeigt werden. Mit dieser API können Sie Menüoptionen anpassen oder entfernen. (Siehe auch getCapabilities.) |
Ein JavaScript-Objekt, das die Bearbeitungsfunktionen des Abschnittslayouts beschreibt. Bei der Eingabe werden die Standardfunktionen für die Funktion bereitgestellt. |
(Objekt) Die Funktionen für das Abschnittslayout. |
| onDragOver | Wird bei einem Drag-and-Drop-Vorgang aufgerufen, um anzugeben, ob das verschobene Element im Abschnittslayout abgelegt werden kann. |
eventObject (Ereignisobjekt): Ein Ereignisobjekt mit Informationen zum Drag-Ereignis. dataTransfer (DataTransfer-Objekt): Ein |
(Boolescher Wert) Ein Wert, der angibt, ob das verschobene Element vom Abschnittslayout akzeptiert werden kann. Gibt true zurück, wenn das Abschnittslayout das verschobene Element akzeptieren kann. Andernfalls false. |
| onDrop | Wird beim Drop-Teil eines Drag-and-Drop-Vorgangs aufgerufen, um anzugeben, dass das verschobene Element im Abschnittslayout abgelegt werden muss. |
eventObject (Ereignisobjekt): Ein Ereignisobjekt mit Informationen zum Drop-Ereignis. dataTransfer (DataTransfer-Objekt): Ein DataTransfer-Objekt mit Informationen zum Element, das im Abschnittslayout abgelegt wird. |
(Boolescher Wert) Ein Wert, der angibt, ob der Drop-Vorgang vom Abschnittslayout verarbeitet wurde. Bei Rückgabe von true wird die Standardlogik umgangen. |
| onAddComponent | Benachrichtigt das Abschnittslayout darüber, dass ein Element im Abschnittslayout mit einem Drag-and-Drop-Vorgang hinzugefügt wurde. |
eventObject (Ereignisobjekt): Ein Ereignisobjekt mit Informationen zum Drag-Ereignis. dataTransfer (DataTransfer-Objekt): Ein DataTransfer-Objekt mit Informationen zum Element, das im Abschnittslayout abgelegt wird. componentId (Zeichenfolge): Der |
Abschnittslayoutbenachrichtigung. |
| onMoveComponent |
Benachrichtigt das Abschnittslayout darüber, dass ein Element im Abschnittslayout mit einem Drag-and-Drop-Vorgang verschoben wurde. |
eventObject (Ereignisobjekt): Ein Ereignisobjekt mit Informationen zum Drag-Ereignis. dataTransfer (DataTransfer-Objekt): Ein DataTransfer-Objekt mit Informationen zum Element, das im Abschnittslayout abgelegt wird. componentId (Zeichenfolge): Der |
Abschnittslayoutbenachrichtigung. |
| getSettingsData |
Damit kann das Abschnittslayout die Einstellungsdaten ändern, bevor der Einstellungsbereich angezeigt wird. |
settingsData (Objekt): Die für das Abschnittslayout berechneten Standardeinstellungsdaten. |
(Objekt) Die Einstellungsdaten für das Abschnittslayout. |
| updateSettings |
Damit kann das Abschnittslayout seine Einstellungen ändern, nachdem der Einstellungsbereich geschlossen wurde. Diese API wird direkt vor dem Speichern der Einstellungen im Seitenmodell aufgerufen. |
parameters (Objekt): Das vom Einstellungsbereich zurückgegebene Raw-Parameterobjekt. sectionLayoutData (Objekt) : Die zu speichernden Abschnittslayoutdaten. Standarddaten werden vom |
(Objekt) Die Abschnittslayoutdaten, die im Seitenmodell gespeichert werden sollen. |
| dispose |
Damit kann das Bearbeitungsmodul Arbeitsspeicher freigeben, Ereignisse trennen und die Zuweisung von Ressourcen für die Bearbeitungs-Handler aufheben. Diese API wird aufgerufen, wenn das Abschnittslayout gänzlich neu gezeichnet werden muss, wie bei einem Undo/Redo-Vorgang. |
Kein Wert. | Das erneute Zeichnen des Abschnittslayouts ist aktiviert. |