Se han introducido plantillas editables para:
Permita que los autores especializados creen y editen plantillas.
template-authors
.Proporcione plantillas que mantengan una conexión dinámica con cualquier página creada a partir de ellas. Esto garantiza que cualquier cambio en la plantilla se refleje en las páginas mismas.
Convierta el componente de página en más genérico para que el componente de página principal pueda utilizarse sin personalización.
Con las plantillas editables, los fragmentos que crean una página están aislados dentro de los componentes. Puede configurar las combinaciones necesarias de componentes en una interfaz de usuario, eliminando así la necesidad de desarrollar un nuevo componente de página para cada variación de página.
Se necesita AEM 6.4.5.0 o posterior para utilizar plantillas editables con el Editor de SPA.
También hay plantillas estáticas disponibles.
Este documento:
Proporciona información general sobre la creación de plantillas editables
Describe las tareas de administrador y desarrollador necesarias para crear plantillas editables
Describe los fundamentos técnicos de las plantillas editables
Este documento supone que ya está familiarizado con la creación y edición de plantillas. Consulte el documento de creación Creación de plantillas de página, que detalla las funciones de las plantillas editables tal y como se exponen al autor de la plantilla.
El siguiente tutorial también puede ser de interés para configurar una plantilla de página editable en un nuevo proyecto:
Introducción a AEM Sites Parte 2 - Creación de una página base y una plantilla
La creación de plantillas editables se realiza principalmente con la consola de plantillas y el editor de plantillas mediante un autor de plantilla. En esta sección se ofrece una visión general de este proceso y se ofrece una descripción de lo que ocurre a nivel técnico.
Para obtener información sobre cómo utilizar plantillas editables en un proyecto AEM, consulte Creación de un proyecto AEM con Lazybones.
Al crear una nueva plantilla editable, realiza estas acciones:
Cree una carpeta para las plantillas. Esto no es obligatorio, pero se recomienda una práctica recomendada.
Seleccione un tipo de plantilla 🔗. Esto se copia para crear la definición de plantilla.
Se proporciona una selección de tipos de plantilla lista para usar. También puede crear sus propios tipos de plantilla específicos del sitio si es necesario.
Configure la estructura, las políticas de contenido, el contenido inicial y el diseño de la nueva plantilla.
Estructura
La estructura permite definir componentes y contenido para la plantilla.
Los componentes definidos en la estructura de la plantilla no se pueden mover a una página resultante ni eliminarse de ninguna página resultante.
Si desea que los autores de la página puedan añadir y quitar componentes, añada un sistema de párrafos a la plantilla.
Los componentes pueden volver a desbloquearse y bloquearse para que pueda definir el contenido inicial.
Para obtener más información sobre cómo define un autor de plantilla la estructura, consulte Creación de plantillas de página.
Para obtener detalles técnicos sobre la estructura, consulte Estructura en este documento.
Políticas
Las políticas de contenido definen las propiedades de diseño de un componente.
Esto se aplica a la plantilla (y a las páginas creadas con la plantilla).
Para obtener más información sobre cómo define las políticas un autor de plantilla, consulte Creación de plantillas de página.
Para obtener detalles técnicos sobre las políticas, consulte Políticas de contenido en este documento.
Contenido inicial
Para obtener más información sobre cómo define un autor de plantilla la estructura, consulte Creación de plantillas de página.
Para obtener detalles técnicos sobre el contenido inicial, consulte Contenido inicial en este documento.
Diseño
Para obtener más información sobre cómo define el diseño de plantilla un autor de plantilla, consulte Creación de plantillas de página.
Para obtener información técnica sobre el diseño de la plantilla, consulte Diseño en este documento.
Habilite la plantilla y, a continuación, déjela para árboles de contenido específicos.
Para obtener más información sobre cómo un autor de plantilla habilita una plantilla, consulte Creación de plantillas de página.
Para obtener detalles técnicos sobre cómo habilitar una plantilla, consulte Habilitación y autorización de una plantilla para nosotrose en este documento
Utilícelo para crear páginas de contenido.
Para obtener más información sobre cómo un autor de página utiliza plantillas para crear una página, consulte Creación y organización de páginas.
Para obtener detalles técnicos sobre la creación de páginas con plantillas editables, consulte Páginas de contenido resultantes en este documento.
No introduzca nunca en una plantilla información que deba internacionalizarse. Para fines de internalización, se recomiendan las características de localización de los componentes principales.
Las plantillas son herramientas poderosas para optimizar el flujo de trabajo de creación de páginas. Sin embargo, demasiadas plantillas pueden abrumar a los autores y hacer que la creación de páginas sea confusa. Una buena regla general es mantener el número de plantillas por debajo de 100.
Adobe no recomienda tener más de 1000 plantillas debido a posibles impactos en el rendimiento.
La biblioteca de cliente del editor asume la presencia de la Área de nombres cq.shared
en las páginas de contenido y, si no se encuentra, se producirá el error de JavaScript Uncaught TypeError: Cannot read property 'shared' of undefined
.
Todas las páginas de contenido de muestra contienen cq.shared
, por lo que cualquier contenido basado en ellas incluye automáticamente cq.shared
. Sin embargo, si decide crear sus propias páginas de contenido desde cero sin basarlas en contenido de muestra, debe asegurarse de incluir la Área de nombres cq.shared
.
Consulte Uso de bibliotecas del lado del cliente para obtener más información.
Para organizar las plantillas, puede utilizar las siguientes carpetas:
global
Específico del sitio
Las carpetas específicas del sitio que se crean para organizar las plantillas se crean con una cuenta con privilegios de administrador.
Aunque puede anidar las carpetas, cuando el usuario las vista en la consola Templates se presentan como una estructura plana.
En una instancia estándar de AEM, la carpeta Global ya existe en la consola de plantillas. Contiene plantillas predeterminadas y actúa como alternativa en caso de que no se encuentre ninguna política ni ningún tipo de plantilla en la carpeta actual. Puede agregar las plantillas predeterminadas a esta carpeta o crear una nueva carpeta (recomendado).
Se recomienda crear una nueva carpeta para albergar las plantillas personalizadas y no utilizar la carpeta global.
Las carpetas deben ser creadas por un usuario con derechos admin
.
Los tipos de plantilla y las directivas se heredan en todas las carpetas según el siguiente orden de prioridad:
/conf/global
/apps
/libs
Se crea una lista de todas las entradas permitidas. Si alguna configuración se superpone ( path
/ label
), sólo se presenta al usuario la instancia más cercana a la carpeta actual.
Para crear una nueva carpeta, puede hacer lo siguiente:
Se puede crear una nueva carpeta (en /conf) para su instancia mediante programación o con CRXDE Lite.
Debe utilizarse la siguiente estructura:
/conf
<your-folder-name> [sling:Folder]
settings [sling:Folder]
wcm [cq:Page]
templates [cq:Page]
policies [cq:Page]
A continuación, puede definir las siguientes propiedades en el nodo raíz de la carpeta:
<your-folder-name> [sling:Folder]
Nombre: jcr:title
String
En adición a los permisos y privilegios de creación estándar (p. ej. content-authors
) ahora debe asignar grupos y definir los derechos de acceso (ACL) necesarios para que los autores puedan crear plantillas en la nueva carpeta.
El grupo template-authors
es el grupo predeterminado que debe asignarse. Consulte la siguiente sección ACL y grupos para obtener más información.
Consulte Administración de derechos de acceso para obtener información detallada sobre la administración y asignación de derechos de acceso.
Vaya a Navegación global -> Herramientas > Navegador de configuración.
Las carpetas existentes se muestran a la izquierda, incluida la carpeta global.
Haga clic en Crear.
En el cuadro de diálogo Crear configuración deben configurarse los siguientes campos:
Haga clic en Crear
En el navegador de configuración, puede editar la carpeta global y activar la opción Plantillas editables si desea crear plantillas dentro de esta carpeta, aunque no se recomienda hacerlo.
Consulte la documentación del explorador de configuración para obtener más información.
Una vez creadas las carpetas de plantilla (ya sea a través de CRXDE o con el navegador de configuración), las ACL deben definirse para los grupos adecuados para las carpetas de plantilla a fin de garantizar una seguridad adecuada.
Las carpetas de plantillas para la implementación de referencia de We.Retail se pueden usar como ejemplo.
El grupo template-authors
es el grupo utilizado para administrar el acceso a las plantillas y viene estándar con AEM, pero está vacío. Los usuarios deben agregarse al grupo para el proyecto o sitio.
El grupo template-authors
es sólo para los usuarios que deben poder crear nuevas plantillas.
La edición de plantillas es muy potente y, si no se realiza correctamente, las plantillas existentes se pueden romper. Por lo tanto, esta función debe centrarse y incluir únicamente a usuarios cualificados.
En la tabla siguiente se detallan los permisos necesarios para editar plantillas.
Ruta | Función/Grupo | Permisos |
Descripción |
---|---|---|---|
/conf/<your-folder>/settings/wcm/templates |
Autores de plantilla |
leer, escribir, replicar | Creadores de plantillas que crean, leen, actualizan, eliminan y replican plantillas en el espacio específico del sitio /conf |
Usuario web anónimo | read | El usuario web anónimo debe leer las plantillas al procesar una página | |
Autores de contenido | replicar | replicateLos autores de contenido deben activar las plantillas de una página al activar una página | |
/conf/<your-folder>/settings/wcm/policies |
Template Author |
leer, escribir, replicar | Creadores de plantillas que crean, leen, actualizan, eliminan y replican plantillas en el espacio específico del sitio /conf |
Usuario web anónimo | read | El usuario web anónimo debe leer las directivas al procesar una página | |
Autores de contenido | replicar | Los creadores de contenido deben activar las directivas de una plantilla de una página al activar una página | |
/conf/<site>/settings/template-types |
Autor de plantillas | read | El autor de la plantilla crea una nueva plantilla basada en uno de los tipos de plantilla predefinidos. |
Usuario web anónimo | ninguno | El usuario web anónimo no debe acceder a los tipos de plantilla |
Este grupo predeterminado template-authors
sólo cubre la configuración del proyecto, donde todos los miembros template-authors
pueden acceder y crear todas las plantillas. Para configuraciones más complejas, donde se necesitan varios grupos de autores de plantillas para separar el acceso a las plantillas, se deben crear más grupos de autores de plantillas personalizadas. Sin embargo, los permisos para los grupos de autores de plantillas seguirían siendo los mismos.
Las plantillas ya no deben almacenarse en /conf/global
, pero para algunas instalaciones heredadas puede que haya plantillas en esta ubicación. SOLO en estas situaciones heredadas deben configurarse explícitamente las siguientes /conf/global
rutas.
Ruta | Función/Grupo | Permisos |
Descripción |
---|---|---|---|
/conf/global/settings/wcm/templates |
Autores de plantilla | leer, escribir, replicar | Creadores de plantillas que crean, leen, actualizan, eliminan y replican plantillas en /conf/global |
Usuario web anónimo | read | El usuario web anónimo debe leer las plantillas al procesar una página | |
Autores de contenido | replicar | Los creadores de contenido deben activar las plantillas de una página al activar una página | |
/conf/global/settings/wcm/policies |
Template Author |
leer, escribir, replicar | Creadores de plantillas que crean, leen, actualizan, eliminan y replican plantillas en /conf/global |
Usuario web anónimo | read | El usuario web anónimo debe leer las directivas al procesar una página | |
Autores de contenido | replicar | Los creadores de contenido deben activar las directivas de una plantilla de una página al activar una página | |
/conf/global/settings/wcm/template-types |
Autor de plantillas | read | El autor de la plantilla crea una nueva plantilla basada en uno de los tipos de plantilla predefinidos |
Usuario web anónimo | ninguno | El usuario web anónimo no debe acceder a los tipos de plantilla |
Al crear una nueva plantilla, debe especificar un tipo de plantilla:
Los tipos de plantilla proporcionan plantillas para una plantilla. Al crear una nueva plantilla, se utiliza la estructura y el contenido inicial del tipo de plantilla seleccionado para crearlos en la nueva plantilla.
Los tipos de plantilla le permiten definir:
AEM ofrece una pequeña selección de tipos de plantilla predeterminados, como Página HTML5 y Página de formulario adaptable.
Los desarrolladores suelen definir los tipos de plantilla.
Los tipos de plantilla predeterminados se almacenan en:
/libs/settings/wcm/template-types
No debe cambiar nada en la ruta /libs
. Esto se debe a que el contenido de /libs
se sobrescribe la próxima vez que actualice la instancia (y puede sobrescribirse al aplicar una revisión o un paquete de funciones).
Los tipos de plantilla específicos del sitio deben almacenarse en la ubicación comparable de:
/apps/settings/wcm/template-types
Las definiciones de los tipos de plantillas personalizadas deben almacenarse en carpetas definidas por el usuario (recomendado) o, alternativamente, en global
. Por ejemplo:
/conf/<my-folder-01>/<my-folder-02>/settings/wcm/template-types
/conf/<my-folder>/settings/wcm/template-types
/conf/global/settings/wcm/template-types
Los tipos de plantilla deben respetar la estructura de carpetas correcta (por ejemplo: /settings/wcm/...
); de lo contrario, no se encontrarán los tipos de plantilla.
Los grupos de dispositivos utilizados para una plantilla editable (establecidos como ruta relativa de la propiedad cq:deviceGroups
) definen qué dispositivos móviles están disponibles como emuladores en el modo de diseño de la creación de páginas. Este valor se puede establecer en dos lugares:
Al crear una nueva plantilla editable, el valor se copia del tipo de plantilla a la plantilla individual. Si el valor no está establecido en el tipo, se puede establecer en la plantilla. Una vez creada una plantilla, no hay herencia del tipo a la plantilla.
El valor de cq:deviceGroups
debe configurarse como una ruta relativa como mobile/groups/responsive
y no como una ruta absoluta como /etc/mobile/groups/responsive
.
Con plantillas estáticas, el valor de cq:deviceGroups
se puede establecer en la raíz del sitio.
Con las plantillas editables, este valor ahora se almacena en el nivel de plantilla y no se admite en el nivel de raíz de la página.
Si ha creado una plantilla que puede servir de base para otras plantillas, puede copiar esta plantilla como un tipo de plantilla.
templates
en el nodo template-types
de la carpeta template.templates
de la carpeta de plantillas.template-types
, elimine todas las propiedades cq:template
y cq:templateType
jcr:content
.También puede desarrollar su propio tipo de plantilla utilizando como base una plantilla editable de ejemplo, disponible en GitHub.
CÓDIGO DE GITHUB
Puede encontrar el código de esta página en GitHub
Las definiciones de las plantillas editables se almacenan carpetas definidas por el usuario (recomendadas) o, alternativamente, en global
. Por ejemplo:
/conf/<my-folder>/settings/wcm/templates
/conf/<my-folder-01>/<my-folder-02>/settings/wcm/templates
/conf/global/settings/wcm/templates
El nodo raíz de la plantilla es de tipo cq:Template
con una estructura de esqueleto de:
<template-name>
initial
jcr:content
root
<component>
...
<component>
jcr:content
@property status
policies
jcr:content
root
@property cq:policy
<component>
@property cq:policy
...
<component>
@property cq:policy
structure
jcr:content
root
<component>
...
<component>
cq:responsive
breakpoints
thumbnail.png
Los elementos principales son:
Este nodo contiene propiedades para la plantilla:
Nombre: jcr:title
Nombre: status
String
draft
, enabled
o disabled
Define la estructura de la página resultante:
Se combina con el contenido inicial ( /initial
) al crear una nueva página.
Los cambios realizados en la estructura se reflejarán en cualquier página creada con la plantilla.
El nodo root
( structure/jcr:content/root
) define la lista de componentes que estarán disponibles en la página resultante.
editable
se establece en true
.initial
.El nodo cq:responsive
contiene definiciones para el diseño interactivo.
Define el contenido inicial que tendrá una página nueva al crearla:
jcr:content
que se copia en cualquier página nueva./structure
) al crear una nueva página.root
contiene una lista de componentes para definir lo que estará disponible en la página resultante.Cuando edita una plantilla puede definir el diseño, utiliza diseño interactivo estándar que también puede configurarse.
Las políticas de contenido (o diseño) definen las propiedades de diseño de un componente. Por ejemplo, los componentes disponibles o las dimensiones mínimas/máximas. Esto se aplica a la plantilla (y a las páginas creadas con la plantilla). Las directivas de contenido se pueden crear y seleccionar en el editor de plantillas.
La propiedad cq:policy
, en el nodo root
/conf/<your-folder>/settings/wcm/templates/<your-template>/policies/jcr:content/root
Proporciona una referencia relativa a la directiva de contenido para el sistema de párrafos de la página.
La propiedad cq:policy
, en los nodos de componentes explícitos en root
, proporciona vínculos a las políticas de los componentes individuales.
Las definiciones de directiva reales se almacenan en:
/conf/<your-folder>/settings/wcm/policies/wcm/foundation/components
Las rutas de las definiciones de políticas dependen de la ruta del componente. cq:policy
contiene una referencia relativa a la configuración misma.
Las páginas creadas a partir de plantillas editables no oferta un modo de diseño en el editor de páginas.
El árbol policies
de una plantilla editable tiene la misma jerarquía que la configuración del modo de diseño de una plantilla estática en:
/etc/designs/<my-site>/jcr:content/<component-name>
La configuración del modo de diseño de una plantilla estática se definió por componente de página.
Las políticas de página permiten definir la directiva de contenido para la página (parsys principal), ya sea en la plantilla o en las páginas resultantes.
Habilitar la plantilla
Para poder usar una plantilla, debe habilitarla:
Activación de la plantilla desde la consola Plantillas.
Definición de la propiedad status en el nodo jcr:content
.
Por ejemplo, en:
/conf/<your-folder>/settings/wcm/templates/<your-template>/jcr:content
Defina la propiedad:
enabled
Plantillas permitidas
Defina las rutas de plantilla permitidas en las Propiedades de página de la página o página raíz adecuada de una subrama.
Establezca la propiedad:
cq:allowedTemplates
En el nodo jcr:content
de la rama requerida.
Por ejemplo, con un valor de:
/conf/<your-folder>/settings/wcm/templates/.*;
Páginas creadas a partir de plantillas editables:
Se crean con un subárbol que se combina desde structure
y initial
en la plantilla
Tenga referencias a la información contenida en la plantilla y el tipo de plantilla. Esto se logra con un nodo jcr:content
con las propiedades:
cq:template
Proporciona la referencia dinámica a la plantilla real; permite que los cambios realizados en la plantilla se reflejen en las páginas reales.
cq:templateType
Proporciona una referencia al tipo de plantilla.
El diagrama anterior muestra cómo las plantillas, el contenido y los componentes se interrelacionan:
Controlador - /content/<my-site>/<my-page>
Página resultante que hace referencia a la plantilla. El contenido controla todo el proceso. De acuerdo con las definiciones, accede a la plantilla y los componentes correspondientes.
Configuración - /conf/<my-folder>/settings/wcm/templates/<my-template>
La plantilla y las políticas de contenido relacionadas definen la configuración de la página.
Modelo: paquetes OSGi
Los paquetes OSGI implementan la funcionalidad.
Ver - /apps/<my-site>/components
Tanto en los entornos de autor como de publicación, el contenido se representa mediante componentes.
Al procesar una página:
Plantillas:
cq:template
de su nodo jcr:content
para acceder a la plantilla que corresponde a esa página.Componentes:
El componente de página combinará el árbol structure/jcr:content
de la plantilla con el árbol jcr:content
de la página.
El componente de página solo permitirá al autor editar los nodos de la estructura de plantilla que se han marcado como editables (así como cualquier elemento secundario).
Cuando se procesa un componente en una página, la ruta relativa de dicho componente se toma del nodo jcr:content
; se buscará la misma ruta en el nodo policies/jcr:content
de la plantilla.
cq:policy
de este nodo apunta a la directiva de contenido real (es decir, contiene la configuración de diseño para ese componente).