Personalización de las consolas customizing-the-consoles
AEM proporciona varios mecanismos para permitirle personalizar las consolas (y la funcionalidad de creación de páginas) de su 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 le 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).
- Usando y creando clientlibs.
- Usando y creando superposiciones.
- Granite
/libs
./libs
se sobrescribirá la próxima vez que actualice la instancia (y es posible que se sobrescriba al aplicar una revisión o un paquete de características).-
Vuelva a crear el elemento necesario (es decir, tal como existe en
/libs
) en/apps
-
Realizar cambios en
/apps
Por ejemplo, se puede superponer la siguiente ubicación dentro de la estructura /libs
:
-
consolas (cualquier consola basada en páginas de interfaz de usuario de Granite); por ejemplo:
/libs/wcm/core/content
Personalización de la Vista Predeterminada para una Consola customizing-the-default-view-for-a-console
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:
- Nombre:
sling:orderBefore
- Tipo:
String
- Valor:
column
- Nombre:
Agregar 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 acción Promocionar al Twitter 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
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 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
groups
que tiene permiso para 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:
code language-none /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 PageInfoProvider con un
Propiedad
pageInfoProviderType
.
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
Al utilizar una consola, un caso de uso común es cuando el usuario debe seleccionar entre recursos (por ejemplo, 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 Personalización de la creación de páginas - Filtrado de recursos para obtener más información.