De componenten maken
- Onderwerpen:
- Communities
Gemaakt voor:
- User
In het voorbeeld van het uitbreiden van componenten wordt het opmerkingssysteem gebruikt, dat eigenlijk uit twee componenten bestaat
- Opmerkingen - Het omvattende opmerkingensysteem dat de component is die op een pagina wordt geplaatst
- Opmerking - De component die een instantie van een geposte opmerking vastlegt
Beide componenten moeten worden geplaatst, vooral als het aanpassen van de verschijning van een geposte commentaar.
De component Opmerkingen maken
In deze aanwijzingen wordt een Groep andere waarde dan .hidden
de component kan dus beschikbaar worden gesteld via de browser van de component (sidekick).
De verwijdering van het automatisch gemaakte JSP-bestand komt doordat in plaats daarvan het standaard-HBS-bestand wordt gebruikt.
-
Bladeren naar CRXDE|Lite (http://localhost:4502/crx/de/index.jsp)
-
Een locatie maken voor aangepaste toepassingen:
-
Selecteer
/apps
node- Map maken benoemd custom
-
Selecteer
/apps/custom
node- Map maken benoemd components
-
-
Selecteer
/apps/custom/components
node-
Create > Component…
- Label: opmerkingen
- Titel: Alt-opmerkingen
- Beschrijving: Stijl van alternatieve opmerkingen
- Supertype: social/commons/components/hbs/comments
- Groep: Aangepast
-
Selecteer Next
-
Selecteer Next
-
Selecteer Next
-
Selecteer OK
-
-
Vouw het zojuist gemaakte knooppunt uit:
/apps/custom/components/comments
-
Selecteer Save All
-
Klikken met rechtermuisknop
comments.jsp
-
Selecteer Delete
-
Selecteer Save All
De component Onderliggende opmerkingen maken
Deze richtingenset Groep tot .hidden
aangezien alleen de bovenliggende component in een pagina moet worden opgenomen.
De verwijdering van het automatisch gemaakte JSP-bestand komt doordat in plaats daarvan het standaard-HBS-bestand wordt gebruikt.
-
Ga naar de
/apps/custom/components/comments
node -
Klik met de rechtermuisknop op het knooppunt
-
Selecteer Create > Component…
- Label: opmerking
- Titel: Alt-opmerking
- Beschrijving: Alternatieve commentaarstijl
- Supertype: social/commons/components/hbs/comments/comment
- Groep:
*.hidden*
-
Selecteer Next
-
Selecteer Next
-
Selecteer Next
-
Selecteer OK
-
-
Vouw het zojuist gemaakte knooppunt uit:
/apps/custom/components/comments/comment
-
Selecteer Save All
-
Klikken met rechtermuisknop
comment.jsp
-
Selecteer Delete
-
Selecteer Save All
-
Kopiëren
comments.hbs
-
Bewerken
comments.hbs
tot:-
De waarde van de optie
data-scf-component
attribuut (~line 20):- Van
social/commons/components/hbs/comments
- Naar
/apps/custom/components/comments
- Van
-
Wijzigen om de aangepaste commentaarcomponent op te nemen (~line 75):
- Vervangen
{{include this resourceType='social/commons/components/hbs/comments/comment'}}
- Met
{{include this resourceType='/apps/custom/components/comments/comment'}}
- Vervangen
-
-
Kopiëren
comment.hbs
-
Bewerken
comment.hbs
tot:-
De waarde van het kenmerk data-scf-component wijzigen (~ regel 19)
- Van
social/commons/components/hbs/comments/comment
- Naar
/apps/custom/components/comments/comment
- Van
-
-
Selecteren
/apps/custom
node -
Selecteer Save All
Een clientbibliotheekmap maken
Als u wilt voorkomen dat deze clientbibliotheek expliciet moet worden opgenomen, kunt u de categoriewaarde voor de clientlib van het standaardopmerkingssysteem gebruiken ( cq.social.author.hbs.comments
), maar dan wordt deze clientlib ook opgenomen voor alle instanties van de standaardcomponent.
Gebruiken CRXDE Lite:
-
Selecteren
/apps/custom/components/comments
node -
Selecteer Create Node
-
Naam:
clientlibs
-
Type:
cq:ClientLibraryFolder
-
Toevoegen aan Properties tab:
- Naam
categories
TypeString
Waardecq.social.author.hbs.comments
Multi
- Naam
dependencies
TypeString
Waardecq.social.scf
Multi
- Naam
-
-
Selecteer Save All
-
Met
/apps/custom/components/comments/clientlib
Als knooppunt geselecteerd, maakt u 3 bestanden:- Naam:
css.txt
- Naam:
js.txt
- Naam: customcommentsystem.js
- Naam:
-
Voer 'customcommentsystem.js' in als de inhoud van
js.txt
-
Selecteer Save All
Het SCF-model en de weergave registreren
Wanneer het uitbreiden (met voeten treden) van een component SCF, is resourceType verschillend (het bedekken maakt gebruik van het relatieve onderzoeksmechanisme dat doorzoekt /apps
voor /libs
zodat resourceType het zelfde blijft). Daarom is het noodzakelijk om JavaScript (in de cliëntbibliotheek) te schrijven om het model SCF JS en mening voor custom resourceType te registreren.
Voer de volgende tekst in als de inhoud van 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);
- Selecteer Save All
De app publiceren
Als u de uitgebreide component wilt ervaren in de publicatieomgeving, moet u de aangepaste component repliceren.
Een manier om dit te doen is
-
Van globale navigatie
- Selecteer Tools > Deployment > Replication
- Selecteer
Activate Tree
- Set
Start Path
: tot/apps/custom
- Uitschakelen
Only Modified
- Selecteren
Activate
knop