Questo documento descrive come personalizzare le console nella moderna interfaccia touch e non si applica all’interfaccia classica.
AEM offre diversi meccanismi per personalizzare le console (e il funzionalità di authoring delle pagine) della tua istanza di authoring.
Clientlibs Clientlibs consente 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.
Ad esempio, può contenere il codice necessario per il componente personalizzato.
Le sovrapposizioni si basano sulle definizioni dei nodi e consentono di sovrapporre la funzionalità standard (in /libs
) con funzionalità personalizzate (in /apps
). Quando crei una sovrapposizione, non è necessaria una copia 1:1 dell’originale, in quanto la fusione di risorse sling consente l’ereditarietà.
Questi possono essere utilizzati in molti modi per estendere le console AEM. Di seguito è riportata una piccola 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 è:
Ricrea l’elemento richiesto (ovvero come esiste in /libs
) in /apps
Apporta le modifiche in /apps
Ad esempio, la seguente posizione all’interno del /libs
La struttura può essere sovrapposta:
console (tutte le console basate sulle pagine dell’interfaccia utente Granite); ad esempio:
/libs/wcm/core/content
Consulta l’articolo della Knowledge Base, Risoluzione dei problemi relativi all’interfaccia touch dell’AEM, per ulteriori suggerimenti e strumenti.
Puoi personalizzare la vista predefinita (colonna, scheda, elenco) per una console:
È possibile riordinare le viste sovrapponendo la voce richiesta da in:
/libs/wcm/core/content/sites/jcr:content/views
La prima voce sarà quella predefinita.
I nodi disponibili sono correlati alle opzioni di visualizzazione disponibili:
column
card
list
Ad esempio, in un elenco di sovrapposizione per:
/apps/wcm/core/content/sites/jcr:content/views/list
Definisci la seguente proprietà:
sling:orderBefore
String
column
Puoi creare componenti personalizzati e includere le librerie client corrispondenti per le azioni personalizzate. Ad esempio, un Promuovi al Twitter azione in:
/apps/wcm/core/clientlibs/sites/js/twitter.js
Questa può quindi essere collegata a un elemento della barra degli strumenti nella console:
/apps/<yourProject>/admin/ext/launches
Ad esempio, in modalità di selezione:
content/jcr:content/body/content/header/items/selection/items/twitter
Puoi utilizzare una condizione di rendering personalizzata per sovrapporre l’azione standard e imporre condizioni specifiche che devono essere soddisfatte prima che venga eseguito il rendering.
Ad esempio, crea un componente per controllare le condizioni di rendering in base al gruppo:
/apps/myapp/components/renderconditions/group
Per applicare questi elementi all’azione Crea sito nella console Sites:
/libs/wcm/core/content/sites
Crea la sovrapposizione:
/apps/wcm/core/content/sites
Quindi aggiungi la condizione di rendering per l’azione:
jcr:content/body/content/header/items/default/items/create/items/createsite/rendercondition
Utilizzando le proprietà su questo nodo è possibile definire groups
è autorizzato a eseguire l’azione specifica; ad esempio, administrators
Questa funzione è ottimizzata per le colonne di campi di testo; per altri tipi di dati è possibile sovrapporsi cq/gui/components/siteadmin/admin/listview/columns/analyticscolumnrenderer
in /apps
.
Per personalizzare le colonne nella vista a elenco:
Sovrapponi l’elenco delle colonne disponibili.
Sul nodo:
/apps/wcm/core/content/common/availablecolumns
Aggiungi le nuove colonne o rimuovi quelle esistenti.
Consulta Utilizzo delle sovrapposizioni (e di Sling Resource Merger) per ulteriori informazioni.
Facoltativamente:
Se desideri inserire dati aggiuntivi, devi scrivere una PageInforProvider con un
pageInfoProviderType
proprietà.
Ad esempio, consulta la classe/bundle allegato (da GitHub) di seguito.
Ora puoi selezionare la colonna nel configuratore di colonne della vista a elenco.
Quando si utilizza una console, un caso d’uso comune si verifica quando l’utente deve 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. Consulta questo articolo per i dettagli.