Plantillas de página: editables page-templates-editable

Las plantillas editables se han introducido en:

  • Permitir que los autores especializados crear y editar plantillas.

    • Estos autores especializados se denominan autores de plantillas
    • Los autores de plantillas deben ser miembros de template-authors grupo.
  • Proporcione plantillas que mantengan una conexión dinámica con cualquier página creada a partir de ellas. Al hacerlo, se asegura de que los cambios realizados en la plantilla se reflejen en las propias páginas.

  • Hacer que el componente de página sea más genérico para que el componente de página principal se pueda utilizar sin personalización.

Con las plantillas editables, 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 para que no sea necesario desarrollar un nuevo componente de página para cada variación de página.

NOTE
Plantillas estáticas también están disponibles.

Este documento:

  • Ofrece información general sobre la creación de plantillas editables

  • Describe las tareas de administrador/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 capacidades de las plantillas editables tal como se exponen al autor de la plantilla.

NOTE
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

Creación de una nueva plantilla creating-a-new-template

La creación de plantillas editables 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.

AEM Para obtener más información sobre cómo utilizar plantillas editables en un proyecto de, consulte AEM Creación de un proyecto de con Lazybones.

Al crear una plantilla editable, debe hacer lo siguiente:

  1. Crear un carpeta para las plantillas. Esta carpeta no es obligatoria, pero se recomienda como práctica recomendada.

  2. Seleccione una tipo de plantilla. Este tipo se copia para crear el definición de plantilla.

    note note
    NOTE
    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.
  3. Configure la estructura, las políticas de contenido, el contenido inicial y el diseño de la nueva plantilla.

    Estructura

    • La estructura permite definir los componentes y el contenido de la plantilla.

    • Los componentes definidos en la estructura de la plantilla no se pueden mover a una página resultante ni eliminar de ninguna página resultante.

      • Si está creando una plantilla en una carpeta personalizada fuera de We.Retail Contenido de ejemplo, puede elegir Componentes de base o utilizar Componentes principales.
    • Si desea que los autores de páginas puedan añadir y quitar componentes, agregue un sistema de párrafos a la plantilla.

    • Los componentes se pueden volver a desbloquear y bloquear para que pueda definir el 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 de la estructura, consulte Estructura en este documento.

    Políticas

    • 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.
    • Estas políticas se aplican 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 información técnica detallada sobre las directivas, consulte Políticas de contenido en este documento.

    Contenido inicial

    • Contenido inicial define el contenido que aparece cuando se crea una página por primera vez en función de la plantilla.
    • Los autores de la página pueden editar el 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

    • Puede definir el diseño de la plantilla para una amplia gama de dispositivos.
    • El diseño interactivo para las plantillas funciona igual que para la creación de páginas.

    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.

  4. Habilite la plantilla y déjela para árboles de contenido específicos.

    • Una plantilla se puede habilitar o deshabilitar para que esté disponible o no disponible para los autores de páginas.
    • Una plantilla puede estar disponible o no disponible para determinadas ramas de la página.

    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

  5. Úselo para crear páginas de contenido.

    • Cuando se utiliza una plantilla para crear una página, no hay ninguna diferencia visible ni indicación entre las plantillas estáticas y editables.
    • Para el autor de la página, el proceso es transparente.

    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.

TIP
Nunca introduzca en una plantilla información que deba internacionalizarse. Para fines de internalización, la variable función de localización de los componentes principales se recomienda.
NOTE
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.
NOTE
La biblioteca de cliente del editor supone la presencia de cq.shared área de nombres en páginas de contenido. Si está ausente, se produce el error de JavaScript Uncaught TypeError: Cannot read property 'shared' of undefined.
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.

Carpetas de plantilla template-folders

Para organizar las plantillas, puede utilizar las siguientes carpetas:

  • global
  • Específico del sitio Las carpetas específicas del sitio que cree para organizar las plantillas se crean con una cuenta que contiene privilegios de administrador.
NOTE
Aunque puede anidar las carpetas, cuando el usuario las vea en la Plantillas consola se presentan como una estructura plana.

AEM En una instancia estándar de la, la variable global existe en la consola de plantillas. Esta carpeta contiene plantillas predeterminadas y actúa como alternativa si no se encuentran directivas ni tipos de plantilla en la carpeta actual. Puede agregar las plantillas predeterminadas a esta carpeta o crear una carpeta (recomendado).

NOTE
Se recomienda crear una carpeta que contenga las plantillas personalizadas y no utilizar la carpeta global.
CAUTION
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:

  1. La carpeta actual.
  2. Principal o principal de la carpeta actual.
  3. /conf/global
  4. /apps
  5. /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, haga lo siguiente:

  • Mediante programación o con el CRXDE Lite
  • Uso del explorador de configuración

Uso del CRXDE Lite using-crxde-lite

  1. 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:

    code language-xml
    /conf
        <your-folder-name> [sling:Folder]
            settings [sling:Folder]
                wcm [cq:Page]
                    templates [cq:Page]
                    policies [cq:Page]
    
  2. A continuación, puede definir las siguientes propiedades en el nodo raíz de la carpeta:

    <your-folder-name> [sling:Folder]

    Nombre: jcr:title

    • Tipo: String

    • Valor: el título (de la carpeta) que desea que aparezca en la Plantillas consola.

  3. Entrada adición a los permisos y privilegios de creación estándar (por ejemplo, content-authors), asigne grupos y defina los derechos de acceso (ACL) necesarios para que sus autores puedan crear plantillas en la nueva carpeta.

    El template-authors group es el grupo predeterminado que se debe asignar. 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.

Uso del explorador de configuración using-the-configuration-browser

  1. Ir a Navegación global > Herramientas > Explorador de configuración.

    Las carpetas existentes se muestran a la izquierda, incluida la global carpeta.

  2. Haga clic en Crear.

  3. En el Crear configuración diálogo, se deben configurar los siguientes campos:

    • Título: proporcione un título para la carpeta de configuración
    • Plantillas editables: seleccione esta opción para permitir plantillas editables dentro de esta carpeta
  4. Haga clic en Crear

NOTE
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 práctica no es una práctica recomendada.
Consulte la documentación del Explorador de configuración para obtener más información.

ACL y grupos acls-and-groups

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 We.Retail implementación de referencia se puede utilizar como ejemplo.

El grupo de autores de plantillas the-template-authors-group

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.

CAUTION
El template-authors el grupo está solamente para usuarios que deben poder crear plantillas.
La edición de plantillas es eficaz 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
Autores de plantillas
leer, escribir, replicar
Autores de plantillas que crean, leen, actualizan, eliminan y replican plantillas en sitios específicos /conf espacio
Usuario web anónimo
leer
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
leer
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
leer
El autor de la plantilla crea una 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 es necesario que varios grupos de autores de plantillas separen 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.

Plantillas heredadas en /conf/global legacy-templates-under-conf-global

No almacenar plantillas en /conf/global. Sin embargo, para algunas instalaciones heredadas, puede que aún haya plantillas en esta ubicación. Solo en tales situaciones heredadas, debería: /conf/global las rutas deben configurarse explícitamente.

Ruta
Rol/grupo
Permisos
Descripción
/conf/global/settings/wcm/templates
Autores de plantillas
leer, escribir, replicar
Autores de plantillas que crean, leen, actualizan, eliminan y replican plantillas en /conf/global
Usuario web anónimo
leer
El usuario web anónimo debe leer las plantillas mientras procesa una página
Autores de contenido
replicar
Los autores 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
Autores de plantillas que crean, leen, actualizan, eliminan y replican plantillas en /conf/global
Usuario web anónimo
leer
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/global/settings/wcm/template-types
Autor de plantillas
leer
El autor de la plantilla crea una 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

Tipo de plantilla template-type

Al crear una plantilla, especifique un tipo de plantilla:

  • Los tipos de plantilla proporcionan plantillas para una plantilla de forma eficaz. Al crear una plantilla, se utiliza la estructura y el contenido inicial del tipo de plantilla seleccionado para crearla.

    • El tipo de plantilla se copia para crearla.
    • Una vez realizada la copia, la única conexión entre la plantilla y el tipo de plantilla es una referencia estática con fines informativos.
  • Los tipos de plantilla permiten definir lo siguiente:

    • El tipo de recurso del componente de página.
    • La directiva del nodo raíz, que define los componentes permitidos en el editor de plantillas.
    • El Adobe recomienda definir los puntos de interrupción para la cuadrícula adaptable y la configuración del emulador móvil en en el tipo de plantilla. Este paso es opcional, ya que la configuración también se puede definir en la plantilla individual (consulte Tipo de plantilla y grupos de dispositivos móviles).
  • 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.

    • Se proporcionan ejemplos adicionales como parte de la variable We.Retail contenido de muestra.
  • Los desarrolladores suelen definir los tipos de plantillas.

Los tipos de plantilla predeterminados se almacenan en:

  • /libs/settings/wcm/template-types
CAUTION
No cambie nada en el /libs ruta. El motivo es 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
CAUTION
Los tipos de plantilla deben respetar la estructura de carpetas correcta (es decir, /settings/wcm/...); de lo contrario, no se encuentran los tipos de plantilla.

Tipo de plantilla y grupos de dispositivos móviles template-type-and-mobile-device-groups-br

El grupos de dispositivos se utiliza para una plantilla editable (establecida como ruta relativa de la propiedad ) cq:deviceGroups) definir qué dispositivos móviles están disponibles como emuladores en la modo de diseño de la creación de páginas. Este valor se puede establecer en dos lugares:

  • En el tipo de plantilla editable
  • En la plantilla editable

Al crear una plantilla editable, el valor se copia del tipo de plantilla en la plantilla individual. Si el valor no se establece en el tipo, se puede establecer en la plantilla. Una vez creada una plantilla, no hay herencia del tipo a la plantilla.

CAUTION
El valor de cq:deviceGroups debe establecerse como una ruta relativa como mobile/groups/responsive y no como una ruta absoluta como /etc/mobile/groups/responsive.
NOTE
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 es compatible con el nivel de raíz de página.

Creación de tipos de plantilla creating-template-types

Si ha creado una plantilla que puede servir de base a otras plantillas, puede copiar esta plantilla como un tipo de plantilla.

  1. Cree una plantilla como lo haría con cualquier plantilla editable como se documenta aquí, que puede servir de base al tipo de plantilla.
  2. Con el CRXDE Lite, copie la plantilla recién creada del templates nodo a template-types nodo bajo el carpeta de plantillas.
  3. Elimine la plantilla del templates nodo bajo el carpeta de plantillas.
  4. En la copia de la plantilla que se encuentra debajo de 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

Definiciones de plantilla template-definitions

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

jcr:contenido jcr-content

Este nodo contiene propiedades para la plantilla:

  • Nombre: jcr:title

  • Nombre: status

    • Tipo: String

    • Valor: draft, enabled, o disabled

Estructura structure

Define la estructura de la página resultante:

  • Se combina con el contenido inicial ( /initial) al crear una página.

  • Los cambios realizados en la estructura se reflejan en cualquier página creada con la plantilla.

  • El root ( structure/jcr:content/root) define la lista de componentes disponibles en la página resultante.

    • Los componentes definidos en la estructura de la plantilla no se pueden mover ni eliminar de ninguna página resultante.

    • Una vez desbloqueado un componente, la variable editable La propiedad se establece en true.

    • Después de desbloquear un componente que ya contiene contenido, este se mueve a initial Rama.

  • El cq:responsive El nodo contiene definiciones para el diseño interactivo.

Contenido inicial initial-content

Define el contenido inicial que tiene una nueva página al crearla:

  • Contiene un jcr:content que se copia en cualquier página nueva.
  • Se combina con la estructura ( /structure) al crear una página.
  • Todas las páginas existentes se actualizan si el contenido inicial cambia después de la creación.
  • El root El nodo contiene una lista de componentes para definir qué están disponibles en la página resultante.
  • Si el contenido se añade a un componente en modo de estructura y ese componente se desbloquea posteriormente (o a la inversa), este contenido se utiliza como contenido inicial.

Diseño layout

Cuándo Al editar una plantilla, puede definir el diseño, esta práctica utiliza diseño interactivo estándar que también puede ser configurado.

Políticas de contenido content-policies

Las políticas de contenido (o diseño) definen las propiedades de diseño de un componente, como su disponibilidad o las dimensiones mínimas/máximas. Estas políticas se aplican 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

NOTE
Las rutas de las definiciones de directivas dependen de la ruta del componente. El cq:policy contiene una referencia relativa a la propia configuración.
NOTE
Las páginas creadas a partir de plantillas editables no ofrecen el modo Diseño en el editor de páginas.
El policies El árbol 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>
Se definió la configuración de modo de diseño de una plantilla estática por componente de página.

Políticas de la página page-policies

Las políticas de la página permiten definir lo siguiente política de contenido para la página (parsys principal), en la plantilla o en las páginas resultantes.

Habilitar y permitir el uso de una plantilla enabling-and-allowing-a-template-for-use

  1. 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:

        • Nombre: estado
        • Tipo: cadena
        • Valor: enabled
  2. Plantillas permitidas

    Por ejemplo, con un valor de:

    /conf/<your-folder>/settings/wcm/templates/.*

Páginas de contenido resultantes resultant-content-pages

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. Puede conseguir esta funcionalidad 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.

chlimage_1-71

El diagrama anterior muestra cómo se interrelacionan las plantillas, el contenido y los componentes:

  • Controlador - /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.

  • Configuración - /conf/<my-folder>/settings/wcm/templates/<my-template>
    El plantilla y políticas de contenido relacionadas defina la configuración de página.

  • Modelo - Paquetes OSGi Paquetes OSGI implemente la funcionalidad.

  • Ver - /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:

    • El cq:template propiedad de su jcr:content se hace referencia al nodo para acceder a la plantilla que corresponde a esa página.
  • Componentes:

    • El componente de página combina las variables structure/jcr:content árbol de la plantilla con el jcr:content árbol de la página.

    • El componente Página solo permite al autor editar los nodos de la estructura de la plantilla que se han marcado como editables (y los secundarios).

    • Al procesar un componente en una página, la ruta relativa de ese componente se toma del jcr:content nodo; la misma ruta bajo el policies/jcr:content a continuación, se busca en el nodo de la plantilla.

      • El cq:policy La propiedad de este nodo señala a la directiva de contenido real (es decir, contiene la configuración de diseño para ese componente).

      • Esta funcionalidad permite tener varias plantillas que reutilizan las mismas configuraciones de directiva de contenido.

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2