Creación de componentes create-the-components
El ejemplo de ampliación de componentes utiliza el sistema de comentarios, que está compuesto por dos componentes.
- Comentarios: el sistema de comentarios envolvente que es el componente colocado en una página.
- Comentario: componente que captura una instancia de un comentario publicado.
Ambos componentes deben ponerse en marcha, especialmente si se personaliza la apariencia de un comentario publicado.
Creación del componente Comentarios create-the-comments-component
Estas instrucciones especifican un valor de Group distinto de .hidden, de modo que 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 utiliza el archivo HBS predeterminado en su lugar.
-
Vaya a CRXDE|Lite (http://localhost:4502/crx/de/index.jsp)
-
Cree una ubicación para las aplicaciones personalizadas:
-
Seleccione el nodo
/apps- Crear carpeta con el nombre personalizado
-
Seleccione el nodo
/apps/custom- Crear carpeta con nombre componentes
-
-
Seleccione el nodo
/apps/custom/components-
Crear > Componente…
- Etiqueta: comentarios
- Título: Comentarios Alt
- Descripción: estilo de comentarios alternativos
- Super Type: social/commons/components/hbs/comments
- Grupo: Personalizado
-
Seleccionar Siguiente
-
Seleccionar Siguiente
-
Seleccionar Siguiente
-
Seleccionar Aceptar
-
-
Expanda el nodo creado:
/apps/custom/components/comments -
Seleccionar Guardar todo
-
Clic con el botón derecho
comments.jsp -
Seleccionar Eliminar
-
Seleccionar Guardar todo
Creación del componente Comentario secundario create-the-child-comment-component
Estas instrucciones establecen Group en .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 utiliza el archivo HBS predeterminado en su lugar.
-
Vaya al nodo
/apps/custom/components/comments -
Haga clic con el botón derecho en el nodo
-
Seleccionar Crear > Componente…
- Etiqueta: comentario
- Título: Comentario alternativo
- Descripción: estilo de comentario alternativo
- Super Type: social/commons/components/hbs/comments/comment
- Grupo:
*.hidden*
-
Seleccionar Siguiente
-
Seleccionar Siguiente
-
Seleccionar Siguiente
-
Seleccionar Aceptar
-
-
Expanda el nodo creado:
/apps/custom/components/comments/comment -
Seleccionar Guardar todo
-
Clic con el botón derecho
comment.jsp -
Seleccionar Eliminar
-
Seleccionar Guardar todo
Copiar y modificar scripts HBS predeterminados copy-and-modify-the-default-hbs-scripts
Usando CRXDE Lite:
-
Copie
comments.hbs -
Editar
comments.hbsen:-
Cambie el valor del atributo
data-scf-component(~line 20):- De
social/commons/components/hbs/comments - Para
/apps/custom/components/comments
- De
-
Modifique para incluir el componente de comentario personalizado (línea 75):
- Reemplazar
{{include this resourceType='social/commons/components/hbs/comments/comment'}} - Con
{{include this resourceType='/apps/custom/components/comments/comment'}}
- Reemplazar
-
-
Copie
comment.hbs -
Editar
comment.hbsen:-
Cambie el valor del atributo data-scf-component (~ línea 19)
- De
social/commons/components/hbs/comments/comment - Para
/apps/custom/components/comments/comment
- De
-
-
Seleccionar nodo
/apps/custom -
Seleccionar Guardar todo
Crear una carpeta de biblioteca de cliente create-a-client-library-folder
Para evitar tener que incluir esta biblioteca de cliente, se puede utilizar el valor de categorías de la clientlib del sistema de comentarios predeterminado ( cq.social.author.hbs.comments). Sin embargo, esta clientlib también tendría que incluirse para todas las instancias del componente predeterminado.
Usando CRXDE Lite:
-
Seleccionar nodo
/apps/custom/components/comments -
Seleccionar Crear nodo
-
Nombre:
clientlibs -
Tipo:
cq:ClientLibraryFolder -
Agregar a la ficha Propiedades:
- Nombre
categoriesTipoStringValorcq.social.author.hbs.commentsMulti - Nombre
dependenciesTipoStringValorcq.social.scfMulti
- Nombre
-
-
Seleccionar Guardar todo
-
Con el nodo
/apps/custom/components/comments/clientlibseleccionado, cree tres archivos:- Nombre:
css.txt - Nombre:
js.txt - Nombre: customcomentsystem.js
- Nombre:
-
Escriba "customcomentsystem.js" como contenido de
js.txt -
Seleccionar Guardar todo
Registrar el modelo y vista de SCF register-the-scf-model-view
Al ampliar (anular) un componente SCF, resourceType es diferente (la superposición utiliza el mecanismo de búsqueda relativa que busca en /apps antes de /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 la vista para el resourceType personalizado.
Escriba 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);
- Seleccionar Guardar todo
Publish en la aplicación publish-the-app
Para experimentar el componente ampliado en el entorno de publicación, es necesario replicar el componente personalizado.
Una forma de hacerlo es:
-
Desde la navegación global,
- Seleccione Herramientas > Implementación > Replicación
- Seleccionar Activar árbol
- Establecer
Start Pathen/apps/custom - Anular la selección de Solo modificadas
- Seleccionar botón Activar