Creare i componenti create-the-components
L’esempio di estensione dei componenti utilizza il sistema di commento, che in realtà è composto da due componenti
- Commenti : il sistema di commenti che comprende il componente inserito in una pagina
- Commento : il componente che acquisisce un’istanza di un commento pubblicato
Entrambi i componenti devono essere implementati, specialmente se si personalizzano l’aspetto di un commento pubblicato.
Creare il componente Commenti create-the-comments-component
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
/appsnodo- Crea cartella denominato personalizzato
-
Seleziona la
/apps/customnodo- Crea cartella denominato componenti
-
-
Seleziona la
/apps/custom/componentsnodo-
Crea > Componente…
- Etichetta: commenti
- Titolo: Commenti Alt
- Descrizione: Stile commenti alternativi
- Super Type: social/commons/components/hbs/comments
- Gruppo: Personalizzato
-
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
Creare il componente Commento figlio create-the-child-comment-component
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/commentsnodo -
Fai clic con il pulsante destro del mouse sul nodo
-
Seleziona Crea > Componente…
- Etichetta: commento
- Titolo: Commento Alt
- Descrizione: Stile commento alternativo
- Super Type: social/commons/components/hbs/comments/comment
- Gruppo:
*.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
Copia e modifica degli script HBS predefiniti copy-and-modify-the-default-hbs-scripts
Utilizzo CRXDE Lite:
-
Copia
comments.hbs -
Modifica
comments.hbsa:-
Modificare il valore del
data-scf-componentattributo (~riga 20):- Da
social/commons/components/hbs/comments - A
/apps/custom/components/comments
- Da
-
Modifica per includere il componente commento personalizzato (~riga 75):
- Sostituisci
{{include this resourceType='social/commons/components/hbs/comments/comment'}} - Con
{{include this resourceType='/apps/custom/components/comments/comment'}}
- Sostituisci
-
-
Copia
comment.hbs -
Modifica
comment.hbsa:-
Modifica il valore dell’attributo data-scf-component (~ riga 19)
- Da
social/commons/components/hbs/comments/comment - A
/apps/custom/components/comments/comment
- Da
-
-
Seleziona
/apps/customnodo -
Seleziona Salva tutto
Creare una cartella della libreria client create-a-client-library-folder
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/commentsnodo -
Seleziona Crea nodo
-
Nome:
clientlibs -
Tipo:
cq:ClientLibraryFolder -
Aggiungi a Proprietà scheda:
- Nome
categoriesTipoStringValorecq.social.author.hbs.commentsMulti - Nome
dependenciesTipoStringValorecq.social.scfMulti
- Nome
-
-
Seleziona Salva tutto
-
Con
/apps/custom/components/comments/clientlibcome nodo selezionato, crea 3 file:- Nome:
css.txt - Nome:
js.txt - Nome: customcommentsystem.js
- Nome:
-
Inserisci 'customcommentsystem.js' come contenuto di
js.txt -
Seleziona Salva tutto
Registrare il modello e la vista SCF register-the-scf-model-view
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:
customcommentsystem.js 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);
- Seleziona Salva tutto
Pubblicare l’app publish-the-app
Per provare l’esperienza del componente esteso nell’ambiente di pubblicazione, è necessario replicare il componente personalizzato.
Un modo per farlo è
-
Dalla navigazione globale
- Seleziona Strumenti > Implementazione > Replica
- Seleziona
Activate Tree - Imposta
Start Path: a/apps/custom - Deseleziona
Only Modified - Seleziona
Activatepulsante