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 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. -
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.
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).
- Uso y creación de clientlibs.
- Uso y creación de superposiciones.
- Granite
/libs
ruta./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).-
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
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 Promocionar a 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
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 la variable
groups
puede 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
in /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 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.
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 este artículo para obtener más información.