El ejemplo de ampliación de componentes utiliza el sistema de comentarios, que en realidad está compuesto por dos componentes
Ambos componentes deben implementarse, especialmente si se personaliza el aspecto de un comentario publicado.
Solo se permite un sistema de comentarios por página del sitio.
Muchas funciones de Comunidades ya incluyen un sistema de comentarios cuyo resourceType puede modificarse para hacer referencia al sistema de comentarios ampliado.
Estas direcciones especifican un valor Grupo distinto de .hidden
para que el componente esté 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.
Vaya a CRXDE|Lite (http://localhost:4502/crx/de/index.jsp)
Cree una ubicación para las aplicaciones personalizadas:
Seleccione el nodo /apps
Seleccione el nodo /apps/custom
Seleccione el nodo /apps/custom/components
Crear > Componente…
Seleccione Siguiente
Seleccione Siguiente
Seleccione Siguiente
Seleccione Aceptar
Expanda el nodo recién creado: /apps/custom/components/comments
Seleccione Guardar todo
Haga clic con el botón derecho comments.jsp
Seleccione Eliminar
Seleccione Guardar todo
Estas direcciones establecen Grupo como .hidden
ya que sólo 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.
Navegue al nodo /apps/custom/components/comments
Haga clic con el botón secundario en el nodo
Seleccione Crear > Componente…
*.hidden*
Seleccione Siguiente
Seleccione Siguiente
Seleccione Siguiente
Seleccione Aceptar
Expanda el nodo recién creado: /apps/custom/components/comments/comment
Seleccione Guardar todo
Haga clic con el botón derecho comment.jsp
Seleccione Eliminar
Seleccione Guardar todo
Usando CRXDE Lite:
Copiar comments.hbs
Editar comments.hbs
en:
Cambie el valor del atributo data-scf-component
(~línea 20):
social/commons/components/hbs/comments
/apps/custom/components/comments
Modifique para incluir el componente de comentario personalizado (~línea 75):
{{include this resourceType='social/commons/components/hbs/comments/comment'}}
{{include this resourceType='/apps/custom/components/comments/comment'}}
Copiar comment.hbs
Editar comment.hbs
en:
Cambiar el valor del atributo data-scf-component (~ línea 19)
social/commons/components/hbs/comments/comment
/apps/custom/components/comments/comment
Seleccionar nodo /apps/custom
Seleccione Guardar todo
Para evitar tener que incluir explícitamente esta biblioteca de cliente, se podría utilizar el valor de categorías para la clientlib del sistema de comentarios predeterminado ( cq.social.author.hbs.comments
), pero entonces esta clientlib también se incluiría para todas las instancias del componente predeterminado.
Usando CRXDE Lite:
Seleccionar nodo /apps/custom/components/comments
Seleccione Crear nodo
Nombre: clientlibs
Tipo: cq:ClientLibraryFolder
Añada a la ficha Propiedades:
categories
String
NameTypeValue cq.social.author.hbs.comments
Multi
dependencies
String
NameTypeValue cq.social.scf
Multi
Seleccione Guardar todo
Con el nodo /apps/custom/components/comments/clientlib
s seleccionado, cree 3 archivos:
css.txt
js.txt
Escriba 'customcomment system.js' como contenido de js.txt
Seleccione Guardar todo
Al ampliar (anular) un componente SCF, resourceType es diferente (al superponer se utiliza el mecanismo de búsqueda relativo que busca /apps
antes de /libs
para que resourceType siga siendo el mismo). Por este motivo, es necesario escribir JavaScript (en la biblioteca del cliente) para registrar el modelo y la vista JS de SCF para resourceType personalizado.
Escriba el siguiente texto como contenido de 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);
Para experimentar el componente extendido en el entorno de publicación, es necesario replicar el componente personalizado.
Una manera de hacerlo es
Desde la navegación global
Activate Tree
Start Path
: a /apps/custom
Only Modified
Activate