Questo documento descrive come personalizzare l’authoring delle pagine nella moderna interfaccia touch e non si applica all’interfaccia classica.
AEM offre diversi meccanismi per personalizzare la funzionalità di authoring delle pagine (e console) della tua istanza di authoring.
Clientlibs
Le clientlibs consentono di estendere l’implementazione predefinita per realizzare nuove funzionalità, riutilizzando le funzioni, gli oggetti e i metodi standard. Durante la personalizzazione, puoi creare una libreria client personalizzata in /apps.
La nuova libreria client deve:
cq.authoring.editor.sites.page
cq.authoring.editor.sites.page.hook
categoriaSovrapposizioni
Le sovrapposizioni si basano sulle definizioni dei nodi e consentono di sovrapporre le funzionalità standard (in /libs
) con funzionalità personalizzate (in /apps
). Quando si crea una sovrapposizione, non è necessaria una copia 1:1 dell'originale, in quanto sling resource merger consente l’ereditarietà.
Per ulteriori informazioni, consulta Set di documentazione JS.
Questi possono essere utilizzati in molti modi per estendere la funzionalità di authoring delle pagine nell’istanza AEM. Di seguito è riportata una selezione (ad alto livello).
Per ulteriori informazioni, consulta:
Tu deve non modificare nulla in /libs
percorso.
Questo perché il contenuto di /libs
viene sovrascritto al successivo aggiornamento dell’istanza (e potrebbe benissimo essere sovrascritto quando applichi un hotfix o un feature pack).
Il metodo consigliato per la configurazione e altre modifiche è:
/libs
) in /apps
/apps
Quando modifichi una pagina, sono disponibili vari modalità disponibile. Queste modalità sono implementate utilizzando livelli. Consentono di accedere a diversi tipi di funzionalità per lo stesso contenuto della pagina. I livelli standard sono: modifica, anteprima, annota, sviluppatore e targeting.
Un'istanza AEM standard fornisce il livello MSM. Consente di accedere ai dati relativi a gestione multisito e lo evidenzia nel livello.
Per vederlo in azione puoi modificare qualsiasi Copia lingua We.Retail pagina (o qualsiasi altra pagina live copy) e seleziona la Stato Live Copy modalità.
Puoi trovare la definizione del livello MSM (per riferimento) in:
/libs/wcm/msm/content/touch-ui/authoring/editor/js/msm.Layer.js
Questo è un pacchetto di esempio che mostra come creare un nuovo livello (modalità), che è un nuovo livello per la vista MSM.
CODICE SU GITHUB
Puoi trovare il codice di questa pagina su GitHub
Il browser Risorse mostra risorse di vari tipi/categorie (ad esempio immagini, documenti, ecc.). Le risorse possono essere filtrate anche in base a queste categorie di risorse.
aem-authoring-extension-assetfinder-flickr
è un pacchetto di esempio che mostra come aggiungere un nuovo gruppo a asset finder. Questo esempio si connette a FlickrIl flusso pubblico di e li mostra nel pannello laterale.
CODICE SU GITHUB
Puoi trovare il codice di questa pagina su GitHub
Durante l’authoring delle pagine, l’utente deve spesso selezionare tra le risorse (ad esempio pagine, componenti, risorse, ecc.). Può assumere la forma di un elenco, ad esempio, dal quale l’autore deve scegliere un elemento.
Al fine di mantenere l’elenco a una dimensione ragionevole e pertinente al caso d’uso, un filtro può essere implementato sotto forma di predicato personalizzato. Ad esempio, se pathbrowser
Granite Il componente viene utilizzato per consentire all’utente di selezionare il percorso di una particolare risorsa. I percorsi presentati possono essere filtrati nel modo seguente:
com.day.cq.commons.predicate.AbstractNodePredicate
di rete.pathbrowser
.Per ulteriori dettagli sulla creazione di un predicato personalizzato, vedi questo articolo.
Implementazione di un predicato personalizzato tramite l’implementazione di com.day.cq.commons.predicate.AbstractNodePredicate
L'interfaccia di funziona anche nell'interfaccia classica.
Consulta questo articolo della knowledge base Ad esempio, puoi implementare un predicato personalizzato nell’interfaccia classica.
Ogni componente dispone (in genere) di una barra degli strumenti che consente di accedere a una serie di azioni che possono essere eseguite su tale componente.
aem-authoring-extension-toolbar-screenshot
è un pacchetto di esempio che mostra come creare un’azione personalizzata della barra degli strumenti per eseguire il rendering dei componenti.
CODICE SU GITHUB
Puoi trovare il codice di questa pagina su GitHub
In un’installazione standard di AEM:
/libs/cq/gui/components/authoring/editors/clientlibs/core/js/editors/editorExample.js
Contiene le definizioni dei vari editor disponibili.
Esiste una connessione tra l’editor e ogni tipo di risorsa (come nel componente) che può utilizzarla:
cq:inplaceEditing
ad esempio:
/libs/foundation/components/text/cq:editConfig
/libs/foundation/components/image/cq:editConfig
proprietà: editorType
Definisce il tipo di editor in linea che verrà utilizzato quando viene attivata la modifica diretta per quel componente; ad esempio text
, textimage
, image
, title
.
Ulteriori dettagli di configurazione dell’editor possono essere configurati utilizzando una config
nodo contenente configurazioni e un ulteriore plugin
per contenere i dettagli necessari della configurazione del plug-in.
Di seguito è riportato un esempio di definizione delle proporzioni per il plug-in di ritaglio immagine del componente immagine. Tieni presente che a causa delle dimensioni dello schermo potenzialmente molto limitate, i rapporti di aspetto del ritaglio sono stati spostati nell’editor a schermo intero e possono essere visualizzati solo lì.
<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>
Si noti che nei rapporti di ritaglio AEM, come stabilito dal ratio
proprietà, sono definiti come altezza/larghezza. Questo differisce dalla definizione tradizionale di larghezza/altezza e viene fatto per motivi di compatibilità con le versioni precedenti. Gli utenti che creano i file non noteranno alcuna differenza, purché sia stata definita la name
chiaramente, poiché questo è ciò che viene visualizzato nell’interfaccia utente.
Per implementare un nuovo editor locale (nella libreria client):
Ad esempio, consulta:
/libs/cq/gui/components/authoring/editors/clientlibs/core/js/editors/editorExample.js
Implementare:
setUp
tearDown
Registra l’editor (include il costruttore):
editor.register
Fornisci la connessione tra l’editor e ogni tipo di risorsa (come nel componente) che può utilizzarlo.
aem-authoring-extension-inplace-editor
è un pacchetto di esempio che mostra come creare un nuovo editor locale in AEM.
CODICE SU GITHUB
Puoi trovare il codice di questa pagina su GitHub
È possibile configurare un componente in modo che abbia più editor locali. Quando sono configurati più editor locali, puoi selezionare il contenuto appropriato e aprire l’editor appropriato. Consulta la Configurazione di più editor locali per ulteriori informazioni.
Per aggiungere una nuova azione di pagina alla barra degli strumenti della pagina, ad esempio Torna a Sites (console).
aem-authoring-extension-header-backtosites
è un pacchetto di esempio che mostra come creare un’azione personalizzata della barra dell’intestazione per tornare alla console Sites.
CODICE SU GITHUB
Puoi trovare il codice di questa pagina su GitHub
Il flusso di lavoro preconfigurato, Richiesta di attivazione:
Appare automaticamente nel menu appropriato quando un autore di contenuti non ha i diritti di replica appropriati, ma ha iscrizione a DAM-Users e Authors.
In caso contrario, non verrà visualizzato nulla, poiché i diritti di replica sono stati rimossi.
Per avere un comportamento personalizzato durante tale attivazione, puoi sovrapporre Richiesta di attivazione workflow:
In entrata /apps
sovrapporre Sites procedura guidata:
/libs/wcm/core/content/common/managepublicationwizard
Questo stesso sovrascriverà l’istanza comune di:
/libs/cq/gui/content/common/managepublicationwizard
Aggiornare il modello di flusso di lavoro e configurazioni/script correlati, in base alle esigenze.
Rimuovi il diritto al replicate
azione da tutti gli utenti appropriati per tutte le pagine rilevanti; affinché questo flusso di lavoro venga attivato come azione predefinita quando uno qualsiasi degli utenti tenta di pubblicare (o replicare) una pagina.