Extensiepunt
Dit voorbeeld breidt zich tot uitbreidingspunt rte
uit om een widget aan RTE in de Redacteur van het Fragment van de Inhoud toe te voegen.
AEM-gebruikersinterface uitgebreid
Extensiepunt
Voorbeeldextensie
Het volgende voorbeeld leidt tot de Lijst van de Code van de a Korting widget. Door op de {
speciale sleutel binnen RTE te duwen, wordt het contextmenu geopend, dan door de optie van de Lijst van de Code van de Korting van het contextmenu te selecteren wordt de dialoog UI geopend.
De auteurs van de inhoud WKND kunnen, huidige Adventure-specifieke kortingscode vinden selecteren en toevoegen, als beschikbaar.
Registratie van extensies
ExtensionRegistration.js
, toegewezen aan de route index.html, is het ingangspunt voor de uitbreiding van AEM en bepaalt:
- De widgetdefinitie in
getWidgets()
functie metid, label and url
attributen. - De waarde van het kenmerk
url
, een relatief URL-pad (/index.html#/discountCodes
) om de interface van het dialoogvenster te laden.
src/aem-cf-editor-1/web-src/src/components/ExtensionRegistration.js
import React from "react";
import { Text } from "@adobe/react-spectrum";
import { register } from "@adobe/uix-guest";
import { extensionId } from "./Constants";
// This function is called when the extension is registered with the host and runs in an iframe in the Content Fragment Editor browser window.
function ExtensionRegistration() {
const init = async () => {
const guestConnection = await register({
id: extensionId,
methods: {
rte: {
// RTE Widgets
getWidgets: () => [
{
id: "discountcode-list-widget", // Provide a unique ID for the widget
label: "Discount Code List", // Provide a label for the widget
url: "/index.html#/discountCodes", // Provide the "relative" URL to the widget content. It will be resolved as `/index.html#/discountCodes`
},
],
}, // Add a comma here
},
});
};
init().catch(console.error);
return <Text>IFrame for integration with Host (AEM)...</Text>;
}
export default ExtensionRegistration;