Definición de componente component-definition
Comprenda en detalle el contrato JSON entre la definición del componente y el editor universal.
Información general overview
El archivo component-definition.json define los componentes disponibles para los autores de contenido del proyecto. Este documento explica en detalle el propósito de este archivo y cómo lo utiliza el editor universal para presentar a los autores los componentes de creación de páginas.
component-definition.json desde cero. La plantilla de proyecto que usa para arrancar su proyecto contiene un archivo component-definition.json que funciona por completo y que puede adaptar a sus necesidades.Definición de componente de ejemplo example
El siguiente es un component-definition.json de ejemplo completo pero simple.
{
"groups":[
{
"title":"General Components",
"id":"general",
"components":[
{
"title":"Text",
"id":"text",
"model": "text",
"filter": "texts",
"plugins":{
"aem":{
"page":{
"resourceType":"wknd/components/text",
"template":{
"text":"Default Text",
"name":"Text"
}
}
},
"aem65":{
"page":{
"resourceType":"wknd/components/text",
"template":{
"text":"Default Text",
"name":"Text"
}
}
}
}
}
]
}
]
}
groups groups
groups define los grupos de componentes que el autor ve en el editor universal al hacer clic en el icono Añadir en el panel de propiedades del editor para agregar un nuevo componente a una página. Los grupos ayudan a organizar los componentes. Los grupos comunes pueden ser Componentes generales y Componentes avanzados.
titledefine la descripción textual del grupo que se muestra en la IU del editor.ididentifica de forma exclusiva el grupo.
components components
components define qué componentes pertenecen a un grupo.
-
titledefine la descripción textual del componente que se muestra en la IU. -
ididentifica de forma exclusiva el componente.- El modelo de componente del mismo
iddefine los campos del componente. - Como es único, se puede usar, por ejemplo, en una definición de filtro para determinar qué componentes se pueden añadir a un contenedor.
- El modelo de componente del mismo
-
modeldefine qué modelo se usa con el componente.- De este modo, el modelo se mantiene de forma centralizada en la definición del componente y no necesita especificarse en la instrumentación.
- Esto le permite mover componentes entre contenedores.
-
filterdefine qué filtro debe usarse con el componente.
plugins plugins
plugins define qué complemento es responsable de mantener el componente. Los complementos comunes incluyen los siguientes:
aempara AEM as a Cloud Service.aem65para AEM 6.5. y AEM 6.5 LTSxwalkpara Creación con AEM Sites para Edge Delivery Services.
page o cf page-cf
Una vez definido plugin, debe indicar si está relacionado con la página o con el fragmento.
pageindica que el componente es contenido en la página actual.cfindica que el componente está relacionado con contenido de un fragmento de contenido.
page page
Si el componente es contenido en la página, puede proporcionar la siguiente información.
resourceTypedefine el SlingresourceTypeutilizado para procesar el componente.templatedefine los valores o claves opcionales que se escribirán de manera automática en el componente recién creado y define qué filtro o modelo se debe aplicar al componente.- Es útil para texto explicativo, de muestra o de marcador de posición.
template template
Si se proporcionan pares de clave/valor opcionales, template puede escribirlos de manera automática en el nuevo componente. Además, también se pueden especificar los siguientes valores opcionales.
cf cf
Si el componente está relacionado con el contenido de un fragmento de contenido, puede proveer la siguiente información.
namedefine un nombre opcional guardado en el JCR para el componente recién creado.- Solo es informativo y, por lo general, no se muestra en la IU como
title.
- Solo es informativo y, por lo general, no se muestra en la IU como
cfModeldefine el modelo de fragmento de contenido para el componente recién creado.cfFolderdefine en qué carpeta se creará el fragmento de contenido.titledefine el título del nuevo fragmento de contenido.descriptiondefine una descripción del nuevo fragmento de contenido.templatedefine los valores o claves opcionales que se escribirán de forma automática en el fragmento de contenido recién creado.- Es útil para texto explicativo, de muestra o de marcador de posición.
cf puede estar implícito cf-implied
Si la página está instrumentada para que apunte a un campo de referencia, cf se supondrá.
<div data-aue-resource="urn:aem:/content" data-aue-type="container" data-aue-prop="field"></div>
En tal caso, se supone cf, ya que data-aue-prop señala a un campo de referencia. Sin data-aue-prop, el editor universal supondrá page, porque en tal caso los componentes no están vinculados a través de un campo de referencia.
<div data-aue-resource="urn:aem:/content" data-aue-type="container"></div>
Los componentes son simples subnodos debajo del recurso.