I det här dokumentet beskrivs hur du anpassar sidredigering i det moderna, pekaktiverade användargränssnittet och det gäller inte det klassiska användargränssnittet.
I Adobe Experience Manager (AEM) finns olika sätt att anpassa sidredigeringsfunktionerna (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:
cq.authoring.editor.sites.page
cq.authoring.editor.sites.page.hook
kategoriÖ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.
Mer information finns i JS-dokumentationsuppsättning.
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å).
Mer information finns i följande:
Gör inte ändra något i /libs
bana.
Orsaken är att innehållet i /libs
skrivs över nästa gång du uppgraderar din instans (och kan mycket väl skrivas över när du installerar en snabbkorrigering eller ett funktionspaket).
Den rekommenderade metoden för konfiguration och andra ändringar är:
/libs
) under /apps
/apps
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, utvecklare och målinriktning.
En AEM standardinstans innehåller MSM-lagret. Detta ger åtkomst till data relaterade till hantering av flera webbplatser och markerar det i lagret.
Om du vill 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
Detta är ett exempelpaket som visar hur du skapar ett 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
Resursläsaren visar resurser av olika typer/kategorier (till exempel bilder och dokument). Resurserna kan också filtreras efter dessa tillgångskategorier.
aem-authoring-extension-assetfinder-flickr
är ett exempelpaket som visar hur du lägger till en grupp i tillgångssökaren. Det här exemplet ansluter till FlickrDet offentliga flödet och visar dem på sidopanelen.
KOD PÅ GITHUB
Koden för den här sidan finns på GitHub
När användaren redigerar sidor måste han/hon ofta välja bland resurser (till exempel sidor, komponenter och resurser). Detta kan vara en lista där författaren måste välja ett objekt.
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:
com.day.cq.commons.predicate.AbstractNodePredicate
gränssnitt.pathbrowser
.Mer information om hur du skapar ett anpassat predikat finns i den här artikeln.
Implementera ett anpassat predikat genom att implementera com.day.cq.commons.predicate.AbstractNodePredicate
-gränssnittet fungerar även i det klassiska användargränssnittet.
Se den här kunskapsbasartikeln som ett exempel på implementering av ett anpassat predikat i det klassiska användargränssnittet.
Varje komponent (vanligtvis) har ett verktygsfält som ger tillgång till en rad åtgärder som kan vidtas för den komponenten.
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
I en vanlig AEM-installation:
/libs/cq/gui/components/authoring/editors/clientlibs/core/js/editors/editorExample.js
Innehåller definitioner av de olika redigeringsprogrammen.
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 den typ av infogad redigerare som används när redigeringen på plats aktiveras för den komponenten, till exempel text
, textimage
, image
, title
.
Ytterligare konfigurationsinformation om redigeraren kan konfigureras med en config
nod som innehåller konfigurationer och en plugin
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. På grund av den begränsade skärmstorleken har beskärningsproportionerna flyttats till helskärmsredigeraren och kan bara 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>
AEM beskärningsproportioner, enligt inställningen i ratio
egenskap, definieras som höjd/bredd. Detta skiljer sig från den vanliga definitionen av bredd/höjd och görs av bakåtkompatibilitetsskäl. Redigeringsanvändarna kommer inte att vara medvetna om några skillnader förutsatt att du definierar name
egenskapen tydligt eftersom detta är vad som visas i användargränssnittet.
Så här implementerar du en ny redigerare på plats (i klientlib):
Se till exempel:
/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.
aem-authoring-extension-inplace-editor
är ett exempelpaket som visar hur du skapar en redigerare på plats i AEM.
KOD PÅ GITHUB
Koden för den här sidan finns på GitHub
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ägga till en ny sidåtgärd i verktygsfältet, till exempel en Tillbaka till platser (konsol).
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
färdiga arbetsflöden, Ansökan om aktivering:
Visas automatiskt på rätt meny när en innehållsförfattare har inte rätt replikeringsrättigheter, men har medlemskap för DAM-användare och författare.
I annat fall visas ingenting eftersom replikeringsrättigheter har tagits bort.
Om du vill ha ett anpassat beteende för en sådan aktivering kan du täcka över Ansökan om aktivering arbetsflöde:
I /apps
överlägg Webbplatser guide:
/libs/wcm/core/content/common/managepublicationwizard
Själva den här å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 arbetsflödet ska aktiveras som standardåtgärd när någon av användarna försöker publicera (eller replikera) en sida.