Extensiepunt
Dit voorbeeld breidt zich tot uitbreidingspunt rte
uit om douaneknoop aan RTE toolbar in de Redacteur van het Fragment van de Inhoud toe te voegen.
AEM-gebruikersinterface uitgebreid | Extensiepunt |
---|---|
de Redacteur van het Fragment van de Inhoud | rijke Toolbar van de Redacteur van de Tekst |
Voorbeeldextensie
Het volgende voorbeeld leidt tot voegt de douaneknoop van het Uiteinde in RTE toolbar toe. De klikactie neemt de placeholder tekst bij de huidige inlasteken positie in RTE op.
De code toont hoe te om de douaneknoop met een pictogram toe te voegen en de functie van de klikmanager te registreren.
Registratie van extensies
ExtensionRegistration.js
, toegewezen aan de route index.html, is het ingangspunt voor de uitbreiding van AEM en bepaalt:
- De definitie van de RTE-werkbalkknop in de functie
getCustomButtons()
metid, tooltip and icon
-kenmerken. - De klikmanager voor de knoop, in de
onClick()
functie. - De functie clickHandler ontvangt het
state
-object als een argument om de RTE-inhoud op te halen in HTML- of tekstindeling. In dit voorbeeld wordt het echter niet gebruikt. - De functie van de klikmanager keert een instructieserie terug. Deze array heeft een object met
type
- envalue
-kenmerken. Als u de inhoud wilt invoegen, gebruikt hetvalue
-kenmerk HTML-codefragment, hettype
-kenmerkinsertContent
. Als de inhoud door gebruik kan worden vervangen, gebruikt u het instructietypereplaceContent
.
De insertContent
-waarde is een HTML-tekenreeks, <div class=\"cmp-contentfragment__element-tip\"><div>TIP</div><div>Add your tip text here...</div></div>
. De CSS-klassen cmp-contentfragment__element-tip
die worden gebruikt om de waarde weer te geven, zijn niet gedefinieerd in de widget, maar geïmplementeerd op het web. Dit veld Inhoudsfragment wordt weergegeven.
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 Toolbar custom button
getCustomButtons: () => [
{
id: "wknd-cf-tip", // Provide a unique ID for the custom button
tooltip: "Add Tip", // Provide a label for the custom button
icon: "Note", // Provide an icon for the button (see https://spectrum.adobe.com/page/icons/ for a list of available icons)
onClick: (state) => {
// Provide a click handler function that returns the instructions array with type and value. This example inserts the HTML snippet for TIP content.
return [
{
type: "insertContent",
value:
'<div class="cmp-contentfragment__element-tip"><div>TIP</div><div>Add your tip text here...</div></div>',
},
];
},
},
],
},
},
});
};
init().catch(console.error);
return <Text>IFrame for integration with Host (AEM)...</Text>;
}
export default ExtensionRegistration;
Experience Manager
- Overzicht
- Afspeellijsten
- Inleiding tot AEM as a Cloud Service
- Experience Cloud-integratie
- Onderliggende technologie
- Edge Delivery Services
- Cloud Manager
- Local Development Environment Setup
- Ontwikkelen
- Foutopsporing in AEM
- AEM API’s
- Inhoud leveren
- Caching
- Toegang tot AEM
- Verificatie
- Geavanceerde netwerken
- Beveiliging
- AEM Event
- Migratie
- Fragmenten van de Inhoud
- Forms
- Uitbreidbaarheid Asset Compute
- Zelfstudies met meerdere stappen
- Expert Resources