Anpassa sidredigering
- Ämnen:
- Developing
Skapat för:
- Developer
AEM innehåller olika mekanismer som du kan använda för att anpassa sidredigeringsfunktionen (och konsoler) i din redigeringsinstans.
-
Clientlibs
Med Clientlibs kan du utöka standardimplementeringen för att få nya funktioner, samtidigt som du återanvänder standardfunktioner, objekt och standardmetoder. När du anpassar kan du skapa en egen klientlib under
/apps.
Den nya klientlib måste:- är beroende av redigeringsklientlib
cq.authoring.editor.sites.page
- vara en del av
cq.authoring.editor.sites.page.hook
kategori
- är beroende av redigeringsklientlib
-
Övertäckningar
Övertäckningar baseras på noddefinitioner och gör att du kan täcka över standardfunktionerna (i
/libs
) med din egen anpassade funktionalitet (i/apps
). När du skapar en övertäckning krävs ingen 1:1-kopia av originalet, eftersom sammanslagning av säljresurser tillåter arv.
De kan användas på många sätt för att utöka sidredigeringsfunktionen i AEM. En markering beskrivs nedan (på en hög nivå).
- Använda och skapa klientlibs.
- Använda och skapa övertäckningar.
- Granit
- Struktur för det AEM användargränssnittet med pekskärm om du vill ha information om de strukturella områden som används för sidredigering.
/libs
bana./libs
skrivs över nästa gång du uppgraderar din instans (och kan mycket väl skrivas över när du använder en snabbkorrigering eller ett funktionspaket).- Återskapa önskat objekt (d.v.s. som det finns i
/libs
) under/apps
- Gör ändringar i
/apps
Lägg till nytt lager (läge)
När du redigerar en sida finns det olika lägen tillgängliga. Dessa lägen implementeras med lager. Dessa ger åtkomst till olika typer av funktioner för samma sidinnehåll. Standardlagren är: redigera, förhandsgranska, kommentera, utveckla och målinrikta.
Exempel på lager: Live Copy-status
En AEM standardinstans innehåller MSM-lagret. Detta ger åtkomst till data relaterade till hantering av flera webbplatser och markerar det i lagret.
För att se hur det fungerar kan du redigera We.Retail Language copy sida (eller någon annan live-kopia-sida) och markera Live Copy-status läge.
MSM-lagerdefinitionen (som referens) finns i:
/libs/wcm/msm/content/touch-ui/authoring/editor/js/msm.Layer.js
Kodexempel
Detta är ett exempelpaket som visar hur du skapar ett nytt lager (läge), som är ett nytt lager för MSM-vyn.
KOD PÅ GITHUB
Koden för den här sidan finns på GitHub
- Öppna aem-authoring-new-layer-mode-projekt i GitHub
- Hämta projektet som en ZIP-fil
Lägg till ny markeringskategori i resursläsaren
Resursläsaren visar resurser av olika typer/kategorier (t.ex. bilder, dokument osv.). Resurserna kan också filtreras efter dessa tillgångskategorier.
Kodexempel
aem-authoring-extension-assetfinder-flickr
är ett exempelpaket som visar hur du lägger till en ny grupp i tillgångssökaren. Det här exemplet ansluter till FlickrDet är publika strömmar och visar dem på sidopanelen.
KOD PÅ GITHUB
Koden för den här sidan finns på GitHub
- Öppna aem-authoring-extension-assetfinder-flickr-projekt på GitHub
- Hämta projektet som en ZIP-fil
Filtreringsresurser
När användaren redigerar sidor måste han eller hon ofta välja bland resurser (t.ex. sidor, komponenter, resurser osv.). Detta kan vara en lista som författaren till exempel måste välja ett objekt från.
För att hålla listan i en rimlig storlek och även relevant för användningsfallet kan ett filter implementeras i form av ett anpassat predikat. Om pathbrowser
Granit -komponenten används för att användaren ska kunna välja sökvägen till en viss resurs. Sökvägarna kan filtreras på följande sätt:
- Implementera det anpassade predikatet genom att implementera
com.day.cq.commons.predicate.AbstractNodePredicate
gränssnitt. - Ange ett namn för predikatet och referera det namnet när du använder
pathbrowser
.
Mer information om hur du skapar ett anpassat predikat finns i den här artikeln.
com.day.cq.commons.predicate.AbstractNodePredicate
-gränssnittet fungerar även i det klassiska användargränssnittet.Lägg till ny åtgärd i ett komponentverktygsfält
Varje komponent (vanligtvis) har ett verktygsfält som ger tillgång till en rad åtgärder som kan vidtas för den komponenten.
Kodexempel
aem-authoring-extension-toolbar-screenshot
är ett exempelpaket som visar hur du skapar en anpassad verktygsfältåtgärd för att återge komponenter.
KOD PÅ GITHUB
Koden för den här sidan finns på GitHub
- Öppna aem-authoring-extension-toolbar-screenshot project på GitHub
- Hämta projektet som en ZIP-fil
Lägg till ny lokal redigerare
Standardredigerare på plats
I en vanlig AEM-installation:
-
/libs/cq/gui/components/authoring/editors/clientlibs/core/js/editors/editorExample.js
Innehåller definitioner av de olika redigeringsprogrammen som är tillgängliga.
-
Det finns en anslutning mellan redigeraren och varje resurstyp (som i komponenten) som kan använda den:
-
cq:inplaceEditing
till exempel:
-
/libs/foundation/components/text/cq:editConfig
-
/libs/foundation/components/image/cq:editConfig
-
egenskap:
editorType
Definierar vilken typ av infogad redigerare som ska användas när redigeringen på plats aktiveras för den komponenten. t.ex.
text
,textimage
,image
,title
.
-
-
-
-
Ytterligare konfigurationsinformation om redigeraren kan konfigureras med en
config
nod som innehåller konfigurationer samt ytterligareplugin
nod som innehåller nödvändig konfigurationsinformation för plugin-programmet.Följande är ett exempel på hur du definierar bildproportioner för bildbeskärningsplugin-programmet för bildkomponenten. Observera att beskärningsproportionerna flyttades till helskärmsredigeraren på grund av risken för mycket begränsad skärmstorlek och att de bara kan ses där.
<cq:inplaceEditing jcr:primaryType="cq:InplaceEditingConfig" active="{Boolean}true" editorType="image"> <config jcr:primaryType="nt:unstructured"> <plugins jcr:primaryType="nt:unstructured"> <crop jcr:primaryType="nt:unstructured"> <aspectRatios jcr:primaryType="nt:unstructured"> <_x0031_6-10 jcr:primaryType="nt:unstructured" name="16 : 10" ratio="0.625"/> </aspectRatios> </crop> </plugins> </config> </cq:inplaceEditing>
CAUTION
Observera att i AEM beskärningsproportioner, enligt inställningen iratio
egenskap, definieras som höjd/bredd. Detta skiljer sig från den vanliga definitionen av bredd/höjd och görs av äldre kompatibilitetsskäl. Redigeringsanvändarna kommer inte att vara medvetna om några skillnader förutsatt att du definierarname
egenskapen tydligt eftersom detta är vad som visas i användargränssnittet.
Skapa en ny lokal redigerare
Så här implementerar du en ny redigerare på plats (i klientlib):
/libs/cq/gui/components/authoring/editors/clientlibs/core/js/editors/editorExample.js
-
Implementera:
setUp
tearDown
-
Registrera redigeraren (inkluderar konstruktorn):
editor.register
-
Ange anslutningen mellan redigeraren och alla resurstyper (som i komponenten) som kan använda den.
Kodexempel för att skapa en ny lokal redigerare
aem-authoring-extension-inplace-editor
är ett exempelpaket som visar hur du skapar en ny redigerare på plats i AEM.
KOD PÅ GITHUB
Koden för den här sidan finns på GitHub
- Öppna aem-authoring-extension-inplace-editor-projekt i GitHub
- Hämta projektet som en ZIP-fil
Konfigurera flera redigerare på plats
Det går att konfigurera en komponent så att den har flera redigerare på plats. När flera redigerare på plats har konfigurerats kan du välja rätt innehåll och öppna rätt redigerare. Se Konfigurera flera redigerare på plats mer information.
Lägg till en ny sidåtgärd
Lägga till en ny sidåtgärd i verktygsfältet, till exempel en Tillbaka till platser (konsol).
Kodexempel
aem-authoring-extension-header-backtosites
är ett exempelpaket som visar hur du skapar en anpassad åtgärd i sidhuvudsfältet för att hoppa tillbaka till webbplatskonsolen.
KOD PÅ GITHUB
Koden för den här sidan finns på GitHub
- Öppna aem-authoring-extension-header-backtosites-projekt på GitHub
- Hämta projektet som en ZIP-fil
Anpassa arbetsflödet för begäran om aktivering
färdiga arbetsflöden, Aktiveringsbegäran, aktiveras automatiskt när en innehållsförfattare inte har rätt replikeringsbehörighet.
Om du vill ha ett anpassat beteende vid en sådan aktivering kan du täcka över Aktiveringsbegäran arbetsflöde:
-
I
/apps
överlägg Webbplatser guide:/libs/wcm/core/content/common/managepublicationwizard
NOTE
Detta åsidosätter den vanliga förekomsten av:/libs/cq/gui/content/common/managepublicationwizard
-
Uppdatera arbetsflödesmodell och relaterade konfigurationer/skript efter behov.
-
Ta bort höger till
replicate
åtgärd från alla lämpliga användare för alla relevanta sidor, om du vill att det här arbetsflödet ska utlösas som en standardåtgärd när någon av användarna försöker publicera (eller replikera) en sida.
Experience Manager
- Utveckla användarhandboken - översikt
- Introduktion för utvecklare
- Komma igång med utveckling i AEM Sites – WKND-självstudiekurs
- AEM kärnbegrepp
- Struktur för det AEM användargränssnittet med pekskärm
- Koncepten i det AEM användargränssnittet med pekskärm
- AEM - riktlinjer och bästa praxis
- Använda bibliotek på klientsidan
- Developing and Page Diff
- Begränsningar för redigerare
- CSRF Protection Framework
- Datamodellering - David Nueschelers modell
- Bidrar till AEM
- Dokumentskydd
- Referensmaterial
- Skapa en webbplats med alla funktioner (Classic UI)
- Designer och Designer (Classic UI)
- Plattform
- Fusklapp för Sling
- Använda Sling-adaptrar
- Taggbibliotek
- Mallar
- Använda Sling Resource Merger i AEM
- Övertäckningar
- Namnkonventioner
- Skapa en ny GRE-fältkomponent
- Query Builder
- Taggar
- Anpassa sidor som visas av felhanteraren
- Anpassade nodtyper
- Lägga till teckensnitt för grafikåtergivning
- Ansluta till SQL-databaser
- Extern URL
- Skapa och använda jobb för avlastning
- Konfigurerar cookie-användning
- Så här programmässigt kommer du åt AEM JCR
- Integrera tjänster med JMX-konsolen
- Developing the Bulk Editor
- Utveckla rapporter
- eCommerce
- Komponenter
- Kärnkomponenter
- Formatsystem
- Komponenter - översikt
- AEM - Grunderna
- Utveckla AEM
- Utveckla AEM - kodexempel
- JSON-exporterare för innehållstjänster
- Aktivera JSON-export för en komponent
- Bildredigeraren
- Dekoration-tagg
- Använda Dölj villkor
- Konfigurera flera redigerare på plats
- Utvecklarläge
- Testa användargränssnittet
- Komponenter för innehållsfragment
- Hämta sidinformation i JSON-format
- Internationalisering
- Klassiska gränssnittskomponenter
- Headless Experience Management
- Headless och Hybrid with AEM
- Aktivera JSON-export för en komponent
- Enkelsidiga program
- SPA introduktion och genomgång
- SPA WKND - självstudiekurs
- Getting Started with SPA in AEM - React
- Komma igång med SPA i AEM - Angular
- Implementera en React Component for SPA
- SPA djupdykning
- SPA
- Utveckla SPA för AEM
- SPA Blueprint
- SPA
- Dynamisk mappning av modell till komponent för SPA
- SPA
- SPA och Adobe Experience Platform Launch Integration
- SPA- och serveråtergivning
- SPA referensmaterial
- HTTP-API
- Innehållsfragment
- Experience Fragments
- Utvecklingsverktyg
- Utvecklingsverktyg
- AEM Modernization Tools
- Dialogruteredigeraren
- Verktyget Dialogkonvertering
- Utveckla med CRXDE Lite
- Hantera paket med Maven
- Utveckla AEM projekt med Eclipse
- Skapa AEM projekt med Apache Maven
- Utveckla AEM projekt med IntelliJ IDEA
- Så här använder du VLT-verktyget
- Så här använder du proxyserververktyget
- AEM Brackets Extension
- AEM Developer Tools for Eclipse
- AEM
- Personanpassning
- Utöka AEM
- Anpassa sidredigering
- Anpassa konsolerna
- Anpassa vyer av Sidegenskaper
- Konfigurera din sida för gruppredigering av sidegenskaper
- Anpassa och utöka Content Fragments
- Utöka arbetsflöden
- Utöka Multi Site Manager
- Spårning och analys
- Cloud Services
- Skapa anpassade tillägg
- Forms
- Integrera tjänster med JMX-konsolen
- Developing the Bulk Editor
- Utöka Classic UI
- Testning
- Bästa praxis
- Mobil webb