Crear los componentes create-the-components
El ejemplo de ampliación de componentes utiliza el sistema de comentarios, que en realidad está compuesto por dos componentes
- Comentarios : el sistema de comentarios que incluye el componente colocado en una página.
- Comentario : El componente que captura una instancia de un comentario publicado.
Se deben implementar ambos componentes, especialmente si se personaliza el aspecto de un comentario publicado.
Crear el componente Comentarios create-the-comments-component
Estas direcciones especifican un Grupo valor distinto de .hidden
por lo tanto, el componente puede estar disponible desde el navegador de componentes (barra de tareas).
La eliminación del archivo JSP creado automáticamente se debe a que se utilizará el archivo HBS predeterminado en su lugar.
-
Vaya a CRXDE|Lite (http://localhost:4502/crx/de/index.jsp)
-
Cree una ubicación para aplicaciones personalizadas:
-
Seleccione el
/apps
node- Crear carpeta named custom
-
Seleccione el
/apps/custom
node- Crear carpeta named componentes
-
-
Seleccione el
/apps/custom/components
node-
Crear > Componente…
- Etiqueta: comentarios
- Título: Comentarios Alt
- Descripción: Estilo de comentarios alternativo
- Super Tipo: social/commons/components/hbs/comments
- Grupo: Personalizado
-
Seleccione Siguiente
-
Seleccione Siguiente
-
Seleccione Siguiente
-
Select OK
-
-
Expanda el nodo recién creado:
/apps/custom/components/comments
-
Select Guardar todo
-
Clic con el botón derecho
comments.jsp
-
Seleccione Eliminar
-
Select Guardar todo
Crear el componente de comentario secundario create-the-child-comment-component
Estas direcciones están configuradas Grupo a .hidden
ya que solo el componente principal debe incluirse en una página.
La eliminación del archivo JSP creado automáticamente se debe a que se utilizará el archivo HBS predeterminado en su lugar.
-
Vaya a la
/apps/custom/components/comments
node -
Haga clic con el botón derecho en el nodo
-
Select Crear > Componente…
- Etiqueta: comment
- Título: Comentario alternativo
- Descripción: Estilo de comentario alternativo
- Super Tipo: social/commons/components/hbs/comments/comment
- Grupo:
*.hidden*
-
Seleccione Siguiente
-
Seleccione Siguiente
-
Seleccione Siguiente
-
Select OK
-
-
Expanda el nodo recién creado:
/apps/custom/components/comments/comment
-
Select Guardar todo
-
Clic con el botón derecho
comment.jsp
-
Seleccione Eliminar
-
Select Guardar todo
Copiar y modificar los scripts HBS predeterminados copy-and-modify-the-default-hbs-scripts
Uso CRXDE Lite:
-
Copie
comments.hbs
-
Editar
comments.hbs
a:-
Cambiar el valor de la variable
data-scf-component
(~line 20):- De
social/commons/components/hbs/comments
- A
/apps/custom/components/comments
- De
-
Modifique para incluir el componente de comentario personalizado (~line 75):
- Replace
{{include this resourceType='social/commons/components/hbs/comments/comment'}}
- con
{{include this resourceType='/apps/custom/components/comments/comment'}}
- Replace
-
-
Copie
comment.hbs
-
Editar
comment.hbs
a:-
Cambiar el valor del atributo data-scf-component (~ línea 19)
- De
social/commons/components/hbs/comments/comment
- A
/apps/custom/components/comments/comment
- De
-
-
Select
/apps/custom
node -
Select Guardar todo
Crear una carpeta de biblioteca de cliente create-a-client-library-folder
Para evitar tener que incluir explícitamente esta biblioteca de cliente, se podría usar el valor de categorías para la clientlib del sistema de comentarios predeterminado ( cq.social.author.hbs.comments
), pero entonces esta clientlib se incluiría también para todas las instancias del componente predeterminado.
Uso CRXDE Lite:
-
Select
/apps/custom/components/comments
node -
Select Crear nodo
-
Nombre:
clientlibs
-
Tipo:
cq:ClientLibraryFolder
-
Agregar a Propiedades pestaña:
- Nombre
categories
TipoString
Valorcq.social.author.hbs.comments
Multi
- Nombre
dependencies
TipoString
Valorcq.social.scf
Multi
- Nombre
-
-
Select Guardar todo
-
con
/apps/custom/components/comments/clientlib
como nodo seleccionado, cree 3 archivos:- Nombre:
css.txt
- Nombre:
js.txt
- Nombre: customcomentsystem.js
- Nombre:
-
Introduzca 'customcomentsystem.js' como contenido de
js.txt
-
Select Guardar todo
Registrar el modelo y la vista de SCF register-the-scf-model-view
Al ampliar (anular) un componente SCF, resourceType es diferente (al superponer se utiliza el mecanismo de búsqueda relativo que busca /apps
before /libs
para que resourceType siga siendo el mismo). Por este motivo es necesario escribir JavaScript (en la biblioteca de cliente) para registrar el modelo JS de SCF y ver el resourceType personalizado.
Introduzca el siguiente texto como contenido de 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);
- Select Guardar todo
Publicar la aplicación publish-the-app
Para experimentar el componente ampliado en el entorno de publicación, es necesario duplicar el componente personalizado.
Una forma de hacerlo es
-
Desde la navegación global
- Select Herramientas > Implementación > Replicación
- Seleccionar
Activate Tree
- Establezca
Start Path
: a/apps/custom
- Desmarcar
Only Modified
- Select
Activate
botón