Este documento describe cómo personalizar las consolas en la IU moderna y táctil, y no se aplica a la IU clásica.
AEM proporciona varios mecanismos para permitirle personalizar las consolas (y la variable funcionalidad de creación de páginas) de la instancia de creación.
Clientlibs Clientlibs le permite ampliar la implementación predeterminada para obtener nuevas funcionalidades, mientras reutiliza las funciones, los objetos y los métodos estándar. Al personalizar, puede crear su propia clientlib en /apps.
Por ejemplo, puede contener el código necesario para el componente personalizado.
Superposiciones Las superposiciones se basan en definiciones de nodo y permiten superponer la funcionalidad estándar (en /libs
) con su propia funcionalidad personalizada (en /apps
). Al crear una superposición, no se requiere una copia 1:1 del original, ya que la fusión de recursos de sling permite la herencia.
AEM Se pueden utilizar de muchas maneras para ampliar las consolas de la. Una pequeña selección se cubren a continuación (en un nivel alto).
Para obtener más información, consulte lo siguiente:
Usted debe no cambie nada en el /libs
ruta.
Esto se debe al contenido de /libs
se sobrescribe la próxima vez que actualice la instancia (y es posible que se sobrescriba al aplicar una revisión o un paquete de funciones).
El método recomendado para la configuración y otros cambios es:
Vuelva a crear el elemento necesario (es decir, tal como existe en /libs
) en /apps
Realice cualquier cambio en /apps
Por ejemplo, la siguiente ubicación dentro de /libs
La estructura se puede superponer:
consolas (cualquier consola basada en páginas de interfaz de usuario de Granite); por ejemplo:
/libs/wcm/core/content
Consulte el artículo de la Base de conocimiento, AEM Solución de problemas de IU táctil, para obtener más sugerencias y herramientas.
Puede personalizar la vista predeterminada (columna, tarjeta, lista) de una consola:
Puede reordenar las vistas superponiendo la entrada requerida desde:
/libs/wcm/core/content/sites/jcr:content/views
La primera entrada es la predeterminada.
Los nodos disponibles se correlacionan con las opciones de vista disponibles:
column
card
list
Por ejemplo, en una superposición para la lista:
/apps/wcm/core/content/sites/jcr:content/views/list
Defina la siguiente propiedad:
sling:orderBefore
String
column
Puede crear sus propios componentes e incluir las bibliotecas de cliente correspondientes para las acciones personalizadas. Por ejemplo, una Promocionar en Twitter acción en:
/apps/wcm/core/clientlibs/sites/js/twitter.js
A continuación, se puede conectar a un elemento de la barra de herramientas de la consola:
/apps/<yourProject>/admin/ext/launches
Por ejemplo, en el modo de selección:
content/jcr:content/body/content/header/items/selection/items/twitter
Puede utilizar una condición de procesamiento personalizada para superponer la acción estándar e imponer condiciones específicas que deben cumplirse antes de que se procese.
Por ejemplo, cree un componente para controlar las condiciones de procesamiento según el grupo:
/apps/myapp/components/renderconditions/group
Para aplicarlos a la acción Crear sitio en la consola Sitios:
/libs/wcm/core/content/sites
Cree la superposición:
/apps/wcm/core/content/sites
A continuación, añada la condición de procesamiento para la acción:
jcr:content/body/content/header/items/default/items/create/items/createsite/rendercondition
Con las propiedades de este nodo puede definir la variable groups
puede realizar la acción específica; por ejemplo, administrators
Esta función está optimizada para columnas de campos de texto; para otros tipos de datos es posible superponer cq/gui/components/siteadmin/admin/listview/columns/analyticscolumnrenderer
in /apps
.
Para personalizar las columnas en la vista de lista:
Superponga la lista de columnas disponibles.
En el nodo:
/apps/wcm/core/content/common/availablecolumns
Añada las columnas nuevas o elimine las existentes.
Consulte Uso de superposiciones (y la fusión de recursos de Sling) para obtener más información.
Opcionalmente:
Si desea conectar datos adicionales, debe escribir un PageInfoProvider con un
pageInfoProviderType
propiedad.
Por ejemplo, consulte la clase/paquete adjunto (de GitHub) a continuación.
Ahora puede seleccionar la columna en el configurador de columnas de la vista de lista.
Al utilizar una consola, un caso de uso común es cuando el usuario debe seleccionar entre recursos (p. ej. páginas, componentes, recursos, etc.). Esto puede adoptar la forma de una lista, por ejemplo, desde la que el autor debe elegir un elemento.
Para mantener la lista a un tamaño razonable y también relevante para el caso de uso, se puede implementar un filtro en forma de predicado personalizado. Consulte este artículo para obtener más información.