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
/apps
nodo- Crea cartella denominato personalizzato
-
Seleziona la
/apps/custom
nodo- Crea cartella denominato componenti
-
-
Seleziona la
/apps/custom/components
nodo-
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/comments
nodo -
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.hbs
a:-
Modificare il valore del
data-scf-component
attributo (~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.hbs
a:-
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/custom
nodo -
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/comments
nodo -
Seleziona Crea nodo
-
Nome:
clientlibs
-
Tipo:
cq:ClientLibraryFolder
-
Aggiungi a Proprietà scheda:
- Nome
categories
TipoString
Valorecq.social.author.hbs.comments
Multi
- Nome
dependencies
TipoString
Valorecq.social.scf
Multi
- Nome
-
-
Seleziona Salva tutto
-
Con
/apps/custom/components/comments/clientlib
come 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
Activate
pulsante