Al crear una página, debe seleccionar una plantilla. La plantilla de página se utiliza como base para la nueva página. Una plantilla define la estructura de la página resultante, todo el contenido inicial y los componentes que se pueden utilizar (propiedades de diseño). Esto tiene varias ventajas:
template-authors
grupo.Con las plantillas de página, las partes que componen una página están aisladas dentro de los componentes. Puede configurar las combinaciones necesarias de componentes en una interfaz de usuario, lo que elimina la necesidad de desarrollar un nuevo componente de página para cada variación de página.
Este documento:
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 capacidades de las plantillas editables tal como se exponen al autor de la plantilla.
El tutorial de WKND profundiza en cómo utilizar las plantillas de página implementando un ejemplo y resulta bastante útil para comprender cómo configurar una plantilla en un nuevo proyecto
La creación de plantillas de página se realiza principalmente con consola de plantillas y editor de plantillas por un autor de plantillas. En esta sección se ofrece una descripción general de este proceso y se incluye una descripción de lo que sucede a nivel técnico.
Al crear una nueva plantilla editable, realiza estas acciones:
Crear un carpeta para las plantillas. Esto no es obligatorio, pero es una práctica recomendada.
Seleccione una tipo de plantilla. Esto se copia para crear el definición de plantilla.
Se proporciona una selección de tipos de plantillas listas para usarse. También puede crear sus propios tipos de plantillas específicas 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
Para obtener más información sobre cómo define la estructura un autor de plantillas, consulte Creación de plantillas de página.
Para obtener detalles técnicos de 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 directivas un autor de plantillas, consulte Creación de plantillas de página.
Para obtener detalles técnicos de las directivas, consulte Políticas de contenido en este documento.
Contenido inicial
Para obtener más información sobre cómo define la estructura un autor de plantillas, 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 la plantilla un autor de plantillas, consulte Creación de plantillas de página.
Para obtener más información técnica sobre el diseño de la plantilla, consulte Diseño en este documento.
Habilite la plantilla y déjela para árboles de contenido específicos.
Para obtener más información sobre cómo un autor de plantillas habilita una plantilla, consulte Creación de plantillas de página.
Para obtener detalles técnicos sobre la activación de una plantilla, consulte Activación y autorización de una plantillae en este documento
Úselo para crear páginas de contenido.
Para obtener más información sobre cómo un autor de páginas utiliza plantillas para crear una página, consulte Crear y organizar páginas.
Para obtener más información técnica 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, la variable Funciones de localización de los componentes principales se recomiendan.
Las plantillas son herramientas útiles para optimizar el flujo de trabajo de creación de páginas. Sin embargo, demasiadas plantillas pueden saturar 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 supone la presencia de cq.shared
en las páginas de contenido y, si no hay ningún error de JavaScript, Uncaught TypeError: Cannot read property 'shared' of undefined
resultará.
Todas las páginas de contenido de muestra contienen cq.shared
, de modo que cualquier contenido basado en ellos incluye automáticamente cq.shared
. Sin embargo, si decide crear sus propias páginas de contenido desde cero sin basarlas en contenido de ejemplo, debe asegurarse de incluir la variable cq.shared
namespace.
Consulte Uso de bibliotecas del lado del cliente para obtener más información.
Para organizar las plantillas, puede utilizar las siguientes carpetas:
global
Aunque puede anidar las carpetas, cuando el usuario las vea en la Plantillas consola 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 guardar las plantillas personalizadas y no utilizar el global
carpeta.
Las carpetas debe crearlas un usuario con admin
derechos.
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
), solo se presenta al usuario la instancia más cercana a la carpeta actual.
Para crear una carpeta nueva, puede hacer lo siguiente:
Se puede crear una nueva carpeta (en /conf) para su instancia mediante programación o con el CRXDE Lite.
Se debe utilizar 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]
jcr:title
String
Además de los permisos y privilegios estándar de creación (por ejemplo, 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 template-authors
group es el grupo predeterminado que debe asignarse. Consulte la sección ACL y grupos para obtener más información.
Ir a Navegación global -> Herramientas > Explorador de configuración.
Las carpetas existentes se muestran a la izquierda, incluida la global
carpeta.
Haga clic en Crear.
En el Crear configuración diálogo se deben configurar los siguientes campos:
Haga clic en Crear
En el Explorador de configuración, puede editar la carpeta global y activar el Plantillas editables si desea crear plantillas dentro de esta carpeta, sin embargo, esta no es la práctica recomendada.
Una vez creadas las carpetas de plantilla (ya sea mediante CRXDE o con el Explorador de configuración), se deben definir ACL para los grupos adecuados para las carpetas de plantilla para garantizar la seguridad adecuada.
Las carpetas de plantilla para la Tutorial de WKND se puede utilizar como ejemplo.
El template-authors
AEM group es el grupo que se utiliza para administrar el acceso a las plantillas y viene de serie con la opción de acceso a las plantillas, pero está vacío. Los usuarios deben agregarse al grupo para el proyecto o sitio.
El template-authors
El grupo solo es para usuarios que deben poder crear nuevas plantillas.
La edición de plantillas es muy potente y, si no se realiza correctamente, las plantillas existentes pueden romperse. Por lo tanto, esta función debe centrarse y solo incluir usuarios cualificados.
La siguiente tabla detalla los permisos necesarios para editar plantillas.
Ruta | Rol/grupo | Permisos |
Descripción |
---|---|---|---|
/conf/<your-folder>/settings/wcm/templates |
Template Autores |
leer, escribir, replicar | Autores de plantillas que crean, leen, actualizan, eliminan y replican plantillas en sitios específicos /conf espacio |
Usuario web anónimo | read | El usuario web anónimo debe leer las plantillas mientras procesa 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 | Autores de plantillas que crean, leen, actualizan, eliminan y replican plantillas en sitios específicos /conf espacio |
Usuario web anónimo | read | El usuario web anónimo debe leer las directivas mientras procesa una página | |
Autores de contenido | replicar | Los autores de contenido deben activar las políticas 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 valor predeterminado template-authors
grupo solo abarca las configuraciones de proyecto, donde todas las template-authors
los miembros pueden acceder a todas las plantillas y crearlas. Para configuraciones más complejas, donde se necesitan varios grupos de autores de plantillas para separar el acceso a las plantillas, se deben crear grupos de autores de plantillas más personalizados. Sin embargo, los permisos para los grupos de autores de plantillas seguirían siendo los mismos.
Al crear una plantilla nueva, debe especificar un tipo de plantilla:
Los tipos de plantilla proporcionan plantillas para una plantilla de forma eficaz. Al crear una plantilla nueva, se utiliza la estructura y el contenido inicial del tipo de plantilla seleccionado para crear la nueva plantilla.
Los tipos de plantilla permiten definir lo siguiente:
AEM proporciona una pequeña selección de tipos de plantillas listas para usar, como Página de HTML5 y Página de formulario adaptable.
Los desarrolladores suelen definir los tipos de plantillas.
Los tipos de plantilla predeterminados se almacenan en:
/libs/settings/wcm/template-types
No debe cambiar nada en el /libs
ruta. Esto se debe al contenido de /libs
AEM se puede sobrescribir en cualquier momento mediante una actualización de la dirección de correo electrónico de.
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 (es decir, /settings/wcm/...
); de lo contrario, no se encontrarán los tipos de plantilla.
Si ha creado una plantilla que puede servir de base a otras plantillas, puede copiar esta plantilla como un tipo de plantilla.
templates
nodo a template-types
nodo bajo el carpeta de plantillas.templates
nodo bajo el carpeta de plantillas.template-types
nodo, eliminar todo cq:template
y cq:templateType
propiedades de todos jcr:content
nodos.También puede desarrollar su propio tipo de plantilla con una plantilla editable de ejemplo como base, disponible en GitHub.
CÓDIGO EN GITHUB
Puede encontrar el código de esta página en GitHub
Se almacenan las definiciones de las plantillas editables carpetas definidas por el usuario (recomendado) 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 del tipo cq:Template
con una estructura esquemática 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:
<template-name>
[initial](#initial-content)
jcr:content
[structure](#structure)
[policies](#policies)
thumbnail.png
Este nodo contiene propiedades para la plantilla:
jcr:title
status
String
draft
, enabled
o disabled
Define la estructura de la página resultante:
Se combina con el contenido inicial ( /initial
) al crear una página nueva.
Los cambios realizados en la estructura se reflejarán en cualquier página creada con la plantilla.
El root
( structure/jcr:content/root
) define la lista de componentes que estarán disponibles en la página resultante.
editable
La propiedad se establece en true
.initial
Rama.El cq:responsive
El nodo contiene definiciones para el diseño interactivo.
Define el contenido inicial que tendrá una nueva página al crearla:
jcr:content
que se copia en cualquier página nueva./structure
) al crear una página nueva.root
El nodo contiene una lista de componentes para definir qué estará disponible en la página resultante.Cuándo edición de una plantilla puede definir el diseño, esto utiliza diseño interactivo estándar.
Las políticas de contenido 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 políticas de contenido se pueden crear y seleccionar en el editor de plantillas.
La propiedad cq:policy
, en el root
nodo
/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 explícitos de componente en root
, proporcione vínculos a las directivas para los componentes individuales.
Las definiciones de directivas reales se almacenan en:
/conf/<your-folder>/settings/wcm/policies/wcm/foundation/components
Las rutas de las definiciones de directivas dependen de la ruta del componente. cq:policy
contiene una referencia relativa a la propia configuración.
Las políticas de página permiten definir la variable política de contenido para la página (parsys principal), en la plantilla o en las páginas resultantes.
Habilitar la plantilla
Para poder utilizar una plantilla, debe habilitarse mediante lo siguiente:
Activación de la plantilla desde el Plantillas consola.
Estableciendo la propiedad status en jcr:content
nodo.
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 la variable Propiedades de página de la página adecuada o de la página raíz de una subrama.
Establezca la propiedad:
cq:allowedTemplates
En el
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 con structure
y initial
en la plantilla
Tener referencias a información contenida en la plantilla y el tipo de plantilla. Esto se logra con una jcr:content
nodo 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 se interrelacionan las plantillas, el contenido y los componentes:
/content/<my-site>/<my-page>
: La página resultante que hace referencia a la plantilla. El contenido controla todo el proceso. Según las definiciones, accede a la plantilla y a los componentes adecuados./conf/<my-folder>/settings/wcm/templates/<my-template>
- El plantilla y políticas de contenido relacionadas defina la configuración de página./apps/<my-site>/components
: Tanto en el entorno de creación como en el de publicación, el contenido se procesa mediante componentes.Al procesar una página:
Plantillas:
cq:template
propiedad de su jcr:content
se hará referencia al nodo para acceder a la plantilla que corresponde a esa página.Componentes:
structure/jcr:content
árbol de la plantilla con el jcr:content
árbol de la página.
jcr:content
nodo; la misma ruta bajo el policies/jcr:content
A continuación, se buscará en el nodo de la plantilla.
cq:policy
La propiedad de este nodo apunta a la directiva de contenido real (es decir, contiene la configuración de diseño para ese componente).
Al crear una nueva página en la interfaz de administración del sitio, la lista de plantillas disponibles depende de la ubicación de la nueva página y de las restricciones de colocación especificadas en cada plantilla.
Las siguientes propiedades determinan si una plantilla T
se puede usar para que una nueva página se coloque como elemento secundario de la página P
. Cada una de estas propiedades es una cadena de varios valores que contiene cero o más expresiones regulares que se utilizan para la coincidencia con rutas:
El cq:allowedTemplates
propiedad del jcr:content
subnodo de P
o un antecesor de P
.
El allowedPaths
propiedad de T
.
El allowedParents
propiedad de T
.
El allowedChildren
propiedad de la plantilla de P
.
La evaluación funciona de la siguiente manera:
La primera no vacía cq:allowedTemplates
se encontró la propiedad al ascender la jerarquía de páginas que empieza por P
se compara con la ruta de T
. Si ninguno de los valores coincide, T
se ha rechazado.
If T
tiene un no vacío allowedPaths
, pero ninguno de los valores coincide con la ruta de P
, T
se ha rechazado.
Si ambas propiedades anteriores están vacías o no existen, T
se rechaza a menos que pertenezca a la misma aplicación que P
. T
pertenece a la misma aplicación que P
if y only si el nombre del segundo nivel de la ruta de T
es el mismo que el nombre del segundo nivel de la ruta de P
. Por ejemplo, la plantilla /apps/wknd/templates/foo
pertenece a la misma aplicación que la página /content/wknd
.
If T
tiene un no vacío allowedParents
, pero ninguno de los valores coincide con la ruta de P
, T
se ha rechazado.
Si la plantilla de P
tiene un no vacío allowedChildren
, pero ninguno de los valores coincide con la ruta de T
, T
se ha rechazado.
En todos los demás casos, T
está permitido.
El diagrama siguiente muestra el proceso de evaluación de la plantilla:
AEM ofrece varias propiedades para controlar las plantillas permitidas en Sites. Sin embargo, combinarlas puede dar lugar a reglas muy complejas difíciles de rastrear y administrar.
Por lo tanto, Adobe recomienda empezar de forma sencilla definiendo:
solo el cq:allowedTemplates
propiedad
solo en la raíz del sitio
Para ver un ejemplo, consulte la Tutorial de WKND contenido: /content/wknd/jcr:content
Las propiedades allowedPaths
, allowedParents
, y allowedChildren
también se puede colocar en las plantillas para definir reglas más sofisticadas. Sin embargo, cuando es posible, lo es mucho más fácil de definir cq:allowedTemplates
propiedades en las subsecciones del sitio si es necesario restringir aún más las plantillas permitidas.
Una ventaja adicional es que el cq:allowedTemplates
Las propiedades puede actualizarlas un autor en el Avanzadas de la pestaña Propiedades de página. Las demás propiedades de la plantilla no se pueden actualizar mediante la interfaz de usuario (estándar), por lo que se necesitaría un desarrollador para mantener las reglas y una implementación de código para cada cambio.
Para limitar qué plantillas se pueden utilizar para crear páginas secundarias en una página determinada, utilice la variable cq:allowedTemplates
propiedad de jcr:content
de la página para especificar la lista de plantillas que pueden utilizarse como páginas secundarias. Cada valor de la lista debe ser una ruta absoluta a una plantilla para una página secundaria permitida, por ejemplo /apps/wknd/templates/page-content
.
Puede usar el complemento cq:allowedTemplates
propiedad en la plantilla jcr:content
para que esta configuración se aplique a todas las páginas recién creadas que utilicen esta plantilla.
Si desea agregar más restricciones, por ejemplo con respecto a la jerarquía de plantillas, puede utilizar la variable allowedParents/allowedChildren
propiedades en la plantilla. A continuación, puede especificar explícitamente que las páginas creadas a partir de una plantilla T tengan que ser páginas principales o secundarias de páginas creadas a partir de una plantilla T.