Personalización de las consolas customizing-the-consoles
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 realizar nuevas funciones, mientras reutiliza las funciones, objetos y 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 nodos 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.
Se pueden utilizar de muchas maneras para ampliar las consolas de AEM. A continuación se cubre una pequeña selección (de alto nivel).
- Uso y creación clientlibs.
- Uso y creación superposiciones.
- Granite
/libs
ruta./libs
se sobrescribe la próxima vez que actualice la instancia (y puede sobrescribirse al aplicar una corrección o un paquete de funciones).-
Volver a crear el elemento requerido (es decir, tal como existe en
/libs
) en/apps
-
Realice cambios dentro de
/apps
Por ejemplo, las siguientes ubicaciones dentro de la función /libs
se puede superponer:
-
consolas (cualquier consola basada en páginas de la interfaz de usuario de Granite); por ejemplo:
/libs/wcm/core/content
Personalización de la vista predeterminada de una consola customizing-the-default-view-for-a-console
Puede personalizar la vista predeterminada (columna, tarjeta, lista) para una consola:
-
Puede cambiar el orden de las vistas superponiendo la entrada requerida desde:
/libs/wcm/core/content/sites/jcr:content/views
La primera entrada será la predeterminada.
Los nodos disponibles se correlacionan con las opciones de vista disponibles:
column
card
list
-
Por ejemplo, en una superposición de lista:
/apps/wcm/core/content/sites/jcr:content/views/list
Defina la siguiente propiedad:
- Nombre:
sling:orderBefore
- Tipo:
String
- Valor:
column
- Nombre:
Añadir nueva acción a la barra de herramientas add-new-action-to-the-toolbar
-
Puede crear sus propios componentes e incluir las bibliotecas de cliente correspondientes para las acciones personalizadas. Por ejemplo, una Promocionar a Twitter en:
/apps/wcm/core/clientlibs/sites/js/twitter.js
Esto 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
Restringir una acción de barra de herramientas a un grupo específico restrict-a-toolbar-action-to-a-specific-group
-
Puede utilizar una condición de renderización personalizada para superponer la acción estándar e imponer condiciones específicas que deben cumplirse antes de procesarse.
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 renderización 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
se permite realizar la acción específica; por ejemplo,administrators
Personalización de columnas en la vista de lista customizing-columns-in-the-list-view
cq/gui/components/siteadmin/admin/listview/columns/analyticscolumnrenderer
en /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 una
[PageInforProvider](https://helpx.adobe.com/experience-manager/6-4/sites/developing/using/reference-materials/javadoc/com/day/cq/wcm/api/PageInfoProvider.html)
con unpageInfoProviderType
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.
Filtrado de recursos filtering-resources
Cuando se utiliza 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 tomar la forma de una lista, por ejemplo, desde la cual el autor debe elegir un elemento.
Para mantener la lista en 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.