AEM 6.4 ha raggiunto la fine del supporto esteso e questa documentazione non viene più aggiornata. Per maggiori dettagli, consulta la nostra periodi di assistenza tecnica. Trova le versioni supportate qui.
L’esempio di estensione dei componenti utilizza il sistema di commento, che in realtà è composto da due componenti
Entrambi i componenti devono essere implementati, specialmente se si personalizzano l’aspetto di un commento pubblicato.
È consentito un solo sistema di commenti per pagina del sito.
Molte funzionalità di Communities includono già un sistema di commenti il cui resourceType può essere modificato per fare riferimento al sistema di commenti esteso.
Queste direzioni specificano Gruppo valore diverso da .hidden
il componente può quindi essere reso disponibile dal browser componenti (barra laterale).
L'eliminazione del file JSP creato automaticamente è perché verrà utilizzato il file HBS predefinito.
Sfoglia per CRXDE|Lite (http://localhost:4502/crx/de/index.jsp)
Crea un percorso per le applicazioni personalizzate:
Seleziona la /apps
nodo
Seleziona la /apps/custom
nodo
Seleziona la /apps/custom/components
nodo
Crea > Componente…
Seleziona Avanti
Seleziona Avanti
Seleziona Avanti
Seleziona OK
Espandi il nodo appena creato: /apps/custom/components/comments
Seleziona Salva tutto
Fai clic con il pulsante destro del mouse comments.jsp
Seleziona Elimina
Seleziona Salva tutto
Queste direzioni Gruppo a .hidden
poiché solo il componente principale deve essere incluso all’interno di una pagina.
L'eliminazione del file JSP creato automaticamente è perché verrà utilizzato il file HBS predefinito.
Passa a /apps/custom/components/comments
nodo
Fai clic con il pulsante destro del mouse sul nodo
Seleziona Crea > Componente…
*.hidden*
Seleziona Avanti
Seleziona Avanti
Seleziona Avanti
Seleziona OK
Espandi il nodo appena creato: /apps/custom/components/comments/comment
Seleziona Salva tutto
Fai clic con il pulsante destro del mouse comment.jsp
Seleziona Elimina
Seleziona Salva tutto
Utilizzo CRXDE Lite:
Copia comments.hbs
Modifica comments.hbs
a:
Modificare il valore del data-scf-component
attributo (~riga 20):
social/commons/components/hbs/comments
/apps/custom/components/comments
Modifica per includere il componente commento personalizzato (~riga 75):
{{include this resourceType='social/commons/components/hbs/comments/comment'}}
{{include this resourceType='/apps/custom/components/comments/comment'}}
Copia comment.hbs
Modifica comment.hbs
a:
Modifica il valore dell’attributo data-scf-component (~ riga 19)
social/commons/components/hbs/comments/comment
/apps/custom/components/comments/comment
Seleziona /apps/custom
nodo
Seleziona Salva tutto
Per evitare di dover includere esplicitamente questa libreria client, è possibile utilizzare il valore delle categorie per la clientlib del sistema di commenti predefinita ( cq.social.author.hbs.comments
), ma questo clientlib verrebbe incluso anche per tutte le istanze del componente predefinito.
Utilizzo CRXDE Lite:
Seleziona /apps/custom/components/comments
nodo
Seleziona Crea nodo
Nome: clientlibs
Tipo: cq:ClientLibraryFolder
Aggiungi a Proprietà scheda:
categories
Tipo String
Valore cq.social.author.hbs.comments
Multi
dependencies
Tipo String
Valore cq.social.scf
Multi
Seleziona Salva tutto
Con /apps/custom/components/comments/clientlib
come nodo selezionato, crea 3 file:
css.txt
js.txt
Inserisci 'customcommentsystem.js' come contenuto di js.txt
Seleziona Salva tutto
Quando estendi (sovrascrivi) un componente SCF, resourceType è diverso (la sovrapposizione fa uso del meccanismo di ricerca relativo che esegue la ricerca attraverso /apps
prima /libs
in modo che resourceType rimanga lo stesso). Per questo motivo è necessario scrivere JavaScript (nella libreria client) per registrare il modello SCF JS e visualizzare il resourceType personalizzato.
Inserisci il seguente testo come contenuto di customcommentsystem.js
:
(function($CQ, _, Backbone, SCF) {
"use strict";
var CustomComment = SCF.Components["social/commons/components/hbs/comments/comment"].Model;
var CustomCommentView = SCF.Components["social/commons/components/hbs/comments/comment"].View;
var CustomCommentSystem = SCF.Components["social/commons/components/hbs/comments"].Model;
var CustomCommentSystemView = SCF.Components["social/commons/components/hbs/comments"].View;
SCF.registerComponent('/apps/custom/components/comments/comment', CustomComment, CustomCommentView);
SCF.registerComponent('/apps/custom/components/comments', CustomCommentSystem, CustomCommentSystemView);
})($CQ, _, Backbone, SCF);
Per provare l’esperienza del componente esteso nell’ambiente di pubblicazione, è necessario replicare il componente personalizzato.
Un modo per farlo è
Dalla navigazione globale
Activate Tree
Start Path
: a /apps/custom
Only Modified
Activate
pulsante