Skapa komponenterna create-the-components
Exemplet med utökade komponenter använder kommentarsystemet, som består av två komponenter.
- Kommentarer - Det övergripande kommentarsystemet, som är den komponent som placeras på en sida.
- Kommentar - Komponenten som hämtar en instans av en publicerad kommentar.
Båda komponenterna måste installeras, särskilt om du anpassar utseendet på en publicerad kommentar.
Skapa kommentarskomponenten create-the-comments-component
I de här riktningarna anges ett annat Group-värde än .hidden så komponenten kan göras tillgänglig från komponentwebbläsaren (sidespark).
Borttagningen av den automatiskt skapade JSP-filen beror på att HBS-standardfilen används i stället.
-
Bläddra till CRXDE|Lite (http://localhost:4502/crx/de/index.jsp)
-
Skapa en plats för anpassade program:
-
Markera noden
/apps- Skapa mapp med namnet custom
-
Markera noden
/apps/custom- Skapa mapp med namnet components
-
-
Markera noden
/apps/custom/components-
Create > Component…
- Etikett: kommentarer
- Titel: Alt-kommentarer
- Beskrivning: Format för alternativa kommentarer
- Supertyp: social/Commons/components/hbs/comments
- Grupp: Egen
-
Välj Next
-
Välj Next
-
Välj Next
-
Välj OK
-
-
Expandera noden som skapades:
/apps/custom/components/comments -
Välj Save All
-
Högerklicka på
comments.jsp -
Välj Delete
-
Välj Save All
Skapa den underordnade kommentarskomponenten create-the-child-comment-component
De här instruktionerna anger Grupp till .hidden eftersom bara den överordnade komponenten ska inkluderas på en sida.
Borttagningen av den automatiskt skapade JSP-filen beror på att HBS-standardfilen används i stället.
-
Navigera till noden
/apps/custom/components/comments -
Högerklicka på noden
-
Välj Create > Component…
- Etikett: kommentar
- Titel: Alt-kommentar
- Beskrivning: Alternativt kommentarformat
- Supertyp: social/Commons/components/hbs/comments/comment
- Grupp:
*.hidden*
-
Välj Next
-
Välj Next
-
Välj Next
-
Välj OK
-
-
Expandera noden som skapades:
/apps/custom/components/comments/comment -
Välj Save All
-
Högerklicka på
comment.jsp -
Välj Delete
-
Välj Save All
Kopiera och ändra standard-HBS-skript copy-and-modify-the-default-hbs-scripts
Använder CRXDE Lite:
-
Kopiera
comments.hbs -
Redigera
comments.hbstill:-
Ändra värdet för attributet
data-scf-component(~rad 20):- Från
social/commons/components/hbs/comments - Till
/apps/custom/components/comments
- Från
-
Ändra om du vill ta med den anpassade kommentarkomponenten (~line 75):
- Ersätt
{{include this resourceType='social/commons/components/hbs/comments/comment'}} - Med
{{include this resourceType='/apps/custom/components/comments/comment'}}
- Ersätt
-
-
Kopiera
comment.hbs -
Redigera
comment.hbstill:-
Ändra värdet på data-scf-component-attributet (~ line 19)
- Från
social/commons/components/hbs/comments/comment - Till
/apps/custom/components/comments/comment
- Från
-
-
Välj
/apps/custom-nod -
Välj Save All
Skapa en biblioteksmapp för klient create-a-client-library-folder
Kategorivärdet för standardkommentarsystemets klientlib kan användas för att undvika att det här klientbiblioteket inkluderas ( cq.social.author.hbs.comments). Klientlib måste då också inkluderas för alla instanser av standardkomponenten.
Använder CRXDE Lite:
-
Välj
/apps/custom/components/comments-nod -
Välj Create Node
-
Namn:
clientlibs -
Typ:
cq:ClientLibraryFolder -
Lägg till på fliken Properties:
- Namn
categoriesTypStringVärdecq.social.author.hbs.commentsMulti - Namn
dependenciesTypStringVärdecq.social.scfMulti
- Namn
-
-
Välj Save All
-
Skapa tre filer med noden
/apps/custom/components/comments/clientlibmarkerad:- Namn:
css.txt - Namn:
js.txt - Namn: customcommentsystem.js
- Namn:
-
Ange 'customcommentsystem.js' som innehåll i
js.txt -
Välj Save All
Registrera SCF-modellen och vyn register-the-scf-model-view
När du utökar (åsidosätter) en SCF-komponent är resourceType annorlunda (overlay använder den relativa sökmekanism som genomsöker /apps före /libs så att resourceType förblir densamma). Därför måste du skriva JavaScript (i klientbiblioteket) för att registrera SCF JS-modellen och visa för den anpassade resourceType.
Ange följande text som innehåll för 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);
- Välj Save All
Publish i appen publish-the-app
Om du vill använda den utökade komponenten i publiceringsmiljön måste du replikera den anpassade komponenten.
Ett sätt är att
-
Från global navigering
- Välj Tools > Deployment > Replication
- Välj Activate Tree
- Ange
Start Pathtill/apps/custom - Avmarkera Only Modified
- Välj knappen Activate