Create the Child Comment Component
These directions set Group to .hidden
as only the parent component should be included within a page.
The deletion of the auto-created JSP file is because the default HBS file is used instead.
-
Navigate to the
/apps/custom/components/comments
node -
Right-click the node
-
Select Create > Component…
- Label: comment
- Title: Alt Comment
- Description: Alternative comment style
- Super Type: social/commons/components/hbs/comments/comment
- Group:
*.hidden*
-
Select Next
-
Select Next
-
Select Next
-
Select OK
-
-
Expand the node that was created:
/apps/custom/components/comments/comment
-
Select Save All
-
Right-click
comment.jsp
-
Select Delete
-
Select Save All
-
Copy
comments.hbs
-
Edit
comments.hbs
to:-
Change the value of the
data-scf-component
attribute (~line 20):- From
social/commons/components/hbs/comments
- To
/apps/custom/components/comments
- From
-
Modify to include the custom comment component (~line 75):
- Replace
{{include this resourceType='social/commons/components/hbs/comments/comment'}}
- With
{{include this resourceType='/apps/custom/components/comments/comment'}}
- Replace
-
-
Copy
comment.hbs
-
Edit
comment.hbs
to:-
Change the value of the data-scf-component attribute (~ line 19)
- From
social/commons/components/hbs/comments/comment
- To
/apps/custom/components/comments/comment
- From
-
-
Select
/apps/custom
node -
Select Save All
Create a Client Library Folder
To avoid having to include this client library, the categories value for the default comment system’s clientlib can be used ( cq.social.author.hbs.comments
). However, this clientlib would then have to be included for all instances of the default component, too.
Using CRXDE Lite:
-
Select
/apps/custom/components/comments
node -
Select Create Node
-
Name:
clientlibs
-
Type:
cq:ClientLibraryFolder
-
Add to Properties tab:
- Name
categories
TypeString
Valuecq.social.author.hbs.comments
Multi
- Name
dependencies
TypeString
Valuecq.social.scf
Multi
- Name
-
-
Select Save All
-
With
/apps/custom/components/comments/clientlib
s node selected, create three files:- Name:
css.txt
- Name:
js.txt
- Name: customcommentsystem.js
- Name:
-
Enter ‘customcommentsystem.js’ as the content of
js.txt
-
Select Save All
Register the SCF Model & View
When extending (overriding) an SCF component, the resourceType is different (overlaying uses the relative search mechanism that searches through /apps
before /libs
so that the resourceType remains the same). This is why it is necessary to write JavaScript (in the client library) to register the SCF JS model and view for the custom resourceType.
Enter the following text as the content of customcommentsystem.js
: