Este documento describe cómo personalizar la creación de páginas en la IU moderna y táctil, y no se aplica a la IU clásica.
AEM proporciona varios mecanismos para permitirle personalizar la funcionalidad de creación de páginas (y la variable consolas) 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.
La nueva clientlib debe:
cq.authoring.editor.sites.page
cq.authoring.editor.sites.page.hook
categoríaSuperposiciones
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 es necesaria una copia 1:1 del original, ya que la variable fusión de recursos de sling permite la herencia.
Para obtener más información, consulte la Conjunto de documentación JS.
AEM Se pueden utilizar de muchas maneras para ampliar la funcionalidad de creación de páginas en la instancia de. A continuación se describen algunas opciones (en un nivel superior).
Para obtener más información, consulte lo siguiente:
Usted debe no cambie nada en el /libs
ruta.
Esto se debe al contenido de /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).
El método recomendado para la configuración y otros cambios es:
/libs
) en /apps
/apps
Al editar una página, hay varias opciones modos disponible. Estos modos se implementan mediante capas. Permiten acceder a diferentes tipos de funcionalidades para el mismo contenido de página. Las capas estándar son: editar, previsualizar, anotar, desarrollador y segmentación.
AEM Una instancia de estándar proporciona la capa de MSM. Esto accede a los datos relacionados con administración de varios sitios y lo resalta en la capa.
Para verlo en acción, puede editar cualquiera Copia de idioma de We.Retail (o cualquier otra página de live copy) y seleccione la Estado de Live Copy modo.
Puede encontrar la definición de capa de MSM (para referencia) en:
/libs/wcm/msm/content/touch-ui/authoring/editor/js/msm.Layer.js
Este es un paquete de muestra que muestra cómo crear una nueva capa (modo), que es una nueva capa para la vista MSM.
CÓDIGO EN GITHUB
Puede encontrar el código de esta página en GitHub
El explorador de recursos muestra recursos de varios tipos o categorías (por ejemplo, imágenes, documentos, etc.). Los recursos también se pueden filtrar por estas categorías de recursos.
aem-authoring-extension-assetfinder-flickr
es un paquete de muestra que muestra cómo agregar un nuevo grupo al buscador de recursos. Este ejemplo conecta con FlickrEl flujo público de y los muestra en el panel lateral.
CÓDIGO EN GITHUB
Puede encontrar el código de esta página en GitHub
Al crear páginas, el usuario debe seleccionar a menudo entre recursos (p. ej. 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. Por ejemplo, si la variable pathbrowser
Granite se utiliza para permitir al usuario seleccionar la ruta a un recurso concreto, las rutas presentadas se pueden filtrar de la siguiente manera:
com.day.cq.commons.predicate.AbstractNodePredicate
interfaz.pathbrowser
.Para obtener más información sobre la creación de un predicado personalizado, consulte este artículo.
Implementación de un predicado personalizado mediante la implementación com.day.cq.commons.predicate.AbstractNodePredicate
La interfaz de también funciona en la IU clásica.
Consulte este artículo de la base de conocimiento para ver un ejemplo de implementación de un predicado personalizado en la IU clásica.
Cada componente (normalmente) tiene una barra de herramientas que proporciona acceso a una serie de acciones que se pueden realizar en ese componente.
aem-authoring-extension-toolbar-screenshot
es un paquete de ejemplo que muestra cómo crear una acción personalizada de la barra de herramientas para procesar componentes.
CÓDIGO EN GITHUB
Puede encontrar el código de esta página en GitHub
En una instalación estándar de AEM:
/libs/cq/gui/components/authoring/editors/clientlibs/core/js/editors/editorExample.js
Contiene definiciones de los distintos editores disponibles.
Existe una conexión entre el editor y cada tipo de recurso (como en el componente ) que puede utilizarlo:
cq:inplaceEditing
por ejemplo:
/libs/foundation/components/text/cq:editConfig
/libs/foundation/components/image/cq:editConfig
propiedad: editorType
Define el tipo de editor en línea que se utilizará cuando se active la edición in situ para ese componente; p. ej., text
, textimage
, image
, title
.
Se pueden configurar detalles de configuración adicionales del editor mediante una config
nodo que contiene configuraciones, así como un plugin
para contener los detalles de configuración del complemento necesarios.
A continuación se muestra un ejemplo de definición de relaciones de aspecto para el complemento de recorte de imágenes del componente de imagen. Tenga en cuenta que debido al potencial del tamaño de pantalla muy limitado, las relaciones de aspecto de recorte se trasladaron al editor de pantalla completa y solo se pueden ver allí.
<cq:inplaceEditing
jcr:primaryType="cq:InplaceEditingConfig"
active="{Boolean}true"
editorType="image">
<config jcr:primaryType="nt:unstructured">
<plugins jcr:primaryType="nt:unstructured">
<crop jcr:primaryType="nt:unstructured">
<aspectRatios jcr:primaryType="nt:unstructured">
<_x0031_6-10
jcr:primaryType="nt:unstructured"
name="16 : 10"
ratio="0.625"/>
</aspectRatios>
</crop>
</plugins>
</config>
</cq:inplaceEditing>
AEM Tenga en cuenta que en las proporciones de recorte de la, según lo establecido por la variable ratio
, se definen como alto/ancho. Esto difiere de la definición convencional de anchura/altura y se realiza por motivos de compatibilidad con sistemas anteriores. Los usuarios autores no notarán ninguna diferencia siempre que defina la variable name
claramente, ya que esto es lo que se muestra en la interfaz de usuario.
Para implementar un nuevo editor in situ (dentro de la clientlib):
Por ejemplo, consulte:
/libs/cq/gui/components/authoring/editors/clientlibs/core/js/editors/editorExample.js
Implementar:
setUp
tearDown
Registre el editor (incluye el constructor):
editor.register
Proporcione la conexión entre el editor y cada tipo de recurso (como en el componente) que pueda utilizarlo.
aem-authoring-extension-inplace-editor
AEM es un paquete de muestra que muestra cómo crear un nuevo editor in situ en el entorno de trabajo de.
CÓDIGO EN GITHUB
Puede encontrar el código de esta página en GitHub
Es posible configurar un componente para que tenga varios editores in situ. Cuando se configuran varios editores locales, puede seleccionar el contenido adecuado y abrir el editor correspondiente. Consulte la Configuración de varios editores locales para obtener más información.
Para agregar una acción de nueva página a la barra de herramientas de la página, por ejemplo, una Volver a Sitios Acción (consola).
aem-authoring-extension-header-backtosites
es un paquete de ejemplo que muestra cómo crear una acción personalizada de la barra de encabezado para volver a la consola Sitios.
CÓDIGO EN GITHUB
Puede encontrar el código de esta página en GitHub
El flujo de trabajo listo para usar, Solicitud de activación:
Aparecerá automáticamente en el menú apropiado cuando un autor de contenido no tiene los derechos de replicación adecuados, pero tiene Pertenencia a DAM-Users y Authors.
De lo contrario, no se mostrará nada, ya que se han eliminado los derechos de replicación.
Para tener un comportamiento personalizado tras dicha activación, puede superponer la variable Solicitud de activación flujo de trabajo:
Entrada /apps
superponga el Sites asistente:
/libs/wcm/core/content/common/managepublicationwizard
Esto en sí, anula la instancia común de:
/libs/cq/gui/content/common/managepublicationwizard
Actualice el modelo de flujo de trabajo y configuraciones/scripts relacionados según sea necesario.
Retire el derecho a la replicate
acción de todos los usuarios adecuados para todas las páginas relevantes; para que este flujo de trabajo se active como una acción predeterminada cuando cualquiera de los usuarios intente publicar (o replicar) una página.