Configuración del editor de texto enriquecido configure-the-rich-text-editor
El Editor de texto enriquecido (RTE) proporciona a los autores una amplia gama de funcionalidades para editar el contenido de texto. Se proporcionan iconos, cuadros de selección, barras de herramientas y menús para una experiencia de edición de texto WYSIWYG.
Para saber cómo utilizar las funciones RTE para la creación, consulte Uso del Editor de texto enriquecido para la creación. RTE se puede configurar para habilitar, deshabilitar y ampliar las funciones disponibles en los componentes de creación. El siguiente flujo de trabajo ilustra el orden recomendado para completar las tareas de configuración de RTE en Experience Manager.
Figura: Secuencia de pasos para aprender a configurar RTE
Explicación de la IU táctil y la IU clásica understand-touch-enabled-ui-and-classic-ui
La IU táctil es la interfaz de usuario estándar para Experience Manager. El Adobe introdujo la IU táctil con diseño interactivo para el entorno de creación. La interfaz de usuario táctil está diseñada para dispositivos táctiles y de escritorio. La interfaz difiere considerablemente de la IU clásica original.
Imagen: barra de herramientas del Editor de texto enriquecido en la IU táctil
Imagen: barra de herramientas del Editor de texto enriquecido en la IU clásica
Varios modos de edición editingmodes
Los autores pueden crear y editar contenido textual en Experience Manager utilizando los diferentes modos de componentes. Las opciones de la barra de herramientas para crear y dar formato al contenido, así como la experiencia del usuario con componentes con RTE en diferentes modos de edición, varían en función de las configuraciones de RTE.
Edición en línea inline-editing
Cuando se abre (con un doble clic lento), el contenido se puede editar dentro de la página. Se presenta una barra de herramientas compacta con opciones muy básicas.
Imagen: edición en línea con la barra de herramientas básica en la IU táctil
En la IU clásica, un doble clic lento en el componente permite la edición en línea y un contorno naranja resalta el contenido. Si el buscador de contenido está abierto, se muestra una barra de herramientas con las opciones de formato RTE disponibles en la parte superior de la ventana. Si el buscador de contenido no está abierto, las opciones de formato no se muestran y solo puede realizar ediciones de texto básicas.
Edición de pantalla completa full-screen-editing
Los componentes del Experience Manager se pueden abrir en la vista de pantalla completa que oculta el contenido de la página y ocupa la pantalla disponible. Considere la posibilidad de editar a pantalla completa una versión detallada de la edición en línea, ya que ofrece la mayoría de las opciones de edición. Se puede abrir haciendo clic en , en la barra de herramientas compacta cuando se utiliza el modo de edición en línea.
En el modo de pantalla completa del cuadro de diálogo, junto con una barra de herramientas RTE detallada, también están disponibles las opciones y los componentes disponibles en un cuadro de diálogo. Solo es aplicable a un cuadro de diálogo que contenga RTE junto con otros componentes.
Imagen: barra de herramientas RTE detallada al editar en modo de pantalla completa en la IU táctil
Edición de diálogos dialog-editing
Al hacer doble clic en un componente, se abre un cuadro de diálogo para editar el contenido. El cuadro de diálogo se abre sobre la página existente. En algunos casos específicos, el cuadro de diálogo se abre como una ventana emergente. Por ejemplo, cuando un componente Texto forma parte de una columna en un diseño de página de varias columnas y el área disponible para el cuadro de diálogo es menor.
Figura: Modo de edición del cuadro de diálogo en la IU táctil
Imagen: cuadro de diálogo de la IU clásica que contiene la barra de herramientas detallada para su edición
Acerca de los complementos RTE y las funciones asociadas aboutplugins
La funcionalidad está disponible a través de una serie de complementos, cada uno con:
-
A
features
propiedad:- Se utiliza para activar o desactivar la funcionalidad básica de ese complemento
- Esto se puede configurar mediante un procedimiento estandarizado
-
Si procede, propiedades y opciones adicionales que requieran una configuración especializada.
Las funciones básicas del RTE se activan o desactivan mediante el valor del features
en un nodo específico del complemento correspondiente.
En la tabla siguiente se enumeran los complementos actuales, mostrando:
- ID de complemento con un vínculo a la documentación de la API. El ID se utiliza como nombre de nodo cuando activación de un complemento.
- Valores permitidos para
features
propiedad. - Una descripción de la funcionalidad proporcionada por el complemento.
<p>
, <h1>
, <h2>
, y <h3>
). Puede agregar más formatos de párrafo o ampliar la lista.dialogFullScreen
configuración para configurar la barra de herramientas para el modo de pantalla completa.Comprender las rutas y ubicaciones de configuración understand-the-configuration-paths-and-locations
El modo de edición RTE (y la interfaz de usuario) que proporcione para que los autores decidan la ubicación de los detalles de configuración cuando activación de los complementos RTE:
cq:editConfig/cq:inplaceEditing
cq:editConfig/cq:inplaceEditing
cq:editConfig/cq:inplaceEditing
cq:dialog
dialog
cq:dialog
cq:inplaceEditing
as config
. Activado cq:inplaceEditing
, defina las siguientes propiedades:- Nombre:
configPath
- Tipo:
String
- Valor: ruta del nodo que contiene la configuración real
config
. De lo contrario, las configuraciones de RTE se aplican solo para los administradores y no para los usuarios del grupo content-author
.Configure las siguientes propiedades que se aplican en el modo de edición del cuadro de diálogo solo en la IU táctil:
-
useFixedInlineToolbar
: establezca esta propiedad booleana definida en el nodo RTE (una con sling:resourceType=cq/gui/components/authoring/dialog/richtext
) aTrue
, para que la barra de herramientas RTE sea fija en lugar de flotante.Cuando esta propiedad es true, la edición de Richtext se inicia de forma predeterminada en el evento "foundation-contentloaded".
Para evitarlo, establezca la propiedad
customStart
hastaTrue
y déclencheur el evento "rte-start" para iniciar la edición de RTE. Cuando esta propiedad tiene el valor "true", el comportamiento predeterminado, iniciar al hacer clic, no funciona. -
customStart
: establezca esta propiedad booleana definida en el nodo RTE enTrue
, para controlar cuándo iniciar RTE activando el eventorte-start
. -
rte-start
: Almacene en Déclencheur este evento en lacontenteditable-div
de RTE, cuándo iniciar la edición de RTE. Esto solo funciona sicustomStart
se ha establecido en true.
Cuando se utiliza RTE en el cuadro de diálogo táctil, establecer la propiedad useFixedInlineToolbar
El valor de es verdadero es obligatorio para evitar problemas.
Personalizar la edición in situ customizing-in-place-editing
Puede definir en qué selector de HTML comienza el editor de texto configurando las siguientes propiedades:
editElementQuery
- Definido encq:InplaceEditingConfig
, esta propiedad se utiliza para especificar un selector del elemento HTML en el que se iniciará la edición en línea del componente Texto. Si no se especifica, la edición en línea se inicia directamente en el HTML del componente Texto.textPropertyName
- Definido encq:InplaceEditingConfig
, esta propiedad se utiliza para especificar el nombre de la propiedad que se guardará en el nodo de contenido, donde el valor de HTML del componente de texto se mantendrá después de la edición en línea.
La propiedad correspondiente para el modo de diálogo es name
.
Habilitar las funcionalidades de RTE activando complementos enable-rte-functionalities-by-activating-plug-ins
Las funcionalidades de RTE están disponibles a través de una serie de complementos, cada uno con la propiedad features. Puede configurar la propiedad features para habilitar o deshabilitar las distintas funciones de cada complemento.
Para obtener configuraciones detalladas de los complementos RTE, consulte Cómo activar y configurar los complementos RTE.
Muestra: Descargar esta configuración de muestra que ilustra cómo configurar RTE. En este paquete todas las características están habilitadas.
/libs/wcm/foundation/components/text
/libs/foundation/components/text
Configuración de la barra de herramientas RTE dialogfullscreen
AEM La interfaz del Editor de texto enriquecido se puede configurar de forma diferente para cada modo de edición, según el modo en que se use. A continuación se proporcionan los ajustes predeterminados. Puede sustituir estos valores predeterminados según sus necesidades. Puede personalizar únicamente las características de la barra de herramientas que desea proporcionar a los autores. No es necesario especificar todas las configuraciones de la barra de herramientas.
Para configurar la barra de herramientas para dialogFullScreen
, utilice la siguiente configuración de ejemplo.
<uiSettings jcr:primaryType="nt:unstructured">
<cui jcr:primaryType="nt:unstructured">
<inline
jcr:primaryType="nt:unstructured"
toolbar="[format#bold,format#italic,format#underline,#justify,#lists,links#modifylink,links#unlink,#paraformat]">
<popovers jcr:primaryType="nt:unstructured">
<justify
jcr:primaryType="nt:unstructured"
items="[justify#justifyleft,justify#justifycenter,justify#justifyright,justify#justifyjustify]"
ref="justify"/>
<lists
jcr:primaryType="nt:unstructured"
items="[lists#unordered,lists#ordered,lists#outdent,lists#indent]"
ref="lists"/>
<paraformat
jcr:primaryType="nt:unstructured"
items="paraformat:getFormats:paraformat-pulldown"
ref="paraformat"/>
</popovers>
</inline>
<dialogFullScreen
jcr:primaryType="nt:unstructured"
toolbar="[format#bold,format#italic,format#underline,justify#justifyleft,justify#justifycenter,justify#justifyright,justify#justifyjustify,lists#unordered,lists#ordered,lists#outdent,lists#indent,links#modifylink,links#unlink,table#createoredit,#paraformat,image#imageProps]">
<popovers jcr:primaryType="nt:unstructured">
<paraformat
jcr:primaryType="nt:unstructured"
items="paraformat:getFormats:paraformat-pulldown"
ref="paraformat"/>
</popovers>
</dialogFullScreen>
<tableEditOptions
jcr:primaryType="nt:unstructured"
toolbar="[table#insertcolumn-before,table#insertcolumn-after,table#removecolumn,-,table#insertrow-before,table#insertrow-after,table#removerow,-,table#mergecells-right,table#mergecells-down,table#mergecells,table#splitcell-horizontal,table#splitcell-vertical,-,table#selectrow,table#selectcolumn,-,table#ensureparagraph,-,table#modifytableandcell,table#removetable,-,undo#undo,undo#redo,-,table#exitTableEditing,-]">
</tableEditOptions>
</cui>
</uiSettings>
Se utilizan diferentes configuraciones de interfaz de usuario para el modo en línea y el modo de pantalla completa. La propiedad toolbar se utiliza para especificar los botones de la barra de herramientas.
Por ejemplo, si el botón es en sí mismo una función (por ejemplo, Bold
), se especifica como PluginName#FeatureName
(por ejemplo, links#modifylink
).
Si el botón es una ventana emergente (que contiene algunas funciones de un complemento), se especifica como #PluginName
(por ejemplo, #format
).
Separadores (|
) entre un grupo de botones se puede especificar con -
.
El nodo emergente bajo el modo en línea o de pantalla completa contiene una lista de los botones que se están utilizando. Cada nodo secundario bajo el nodo "fuentes" recibe el nombre del complemento (por ejemplo, formato). Tiene una propiedad "items" que contiene una lista de funciones del complemento (por ejemplo, format#bold).
Configuración de la interfaz de usuario de RTE y políticas de contenido rtecontentpolicies
Los administradores pueden controlar las opciones de RTE mediante políticas de contenido, por ejemplo, en lugar de realizar la configuración como se ha descrito anteriormente. Las políticas de contenido definen las propiedades de diseño de un componente cuando se utilizan como parte de una plantilla editable. Por ejemplo, si un componente de texto que utiliza RTE se utiliza con una plantilla editable, la política de contenido puede definir que la opción de negrita esté disponible y que haya algunas opciones de formato de párrafo disponibles. Las políticas de contenido se pueden reutilizar y aplicar en varias plantillas.
Las opciones disponibles en RTE fluyen hacia abajo desde las configuraciones de interfaz de usuario hasta las políticas de contenido.
- Las opciones de configuración de la interfaz de usuario definen qué opciones están disponibles para las directivas de contenido.
- Si la configuración de interfaz de usuario del RTE se ha eliminado o no habilita un elemento, la directiva de contenido no puede configurarlo.
- Un autor solo tiene acceso a las funciones que están disponibles en las configuraciones de interfaz de usuario y en las directivas de contenido.
A modo de ejemplo, puede ver el Documentación del componente principal Texto.
Personalizar la asignación entre los iconos y comandos de la barra de herramientas iconstoolbar
Puede personalizar la asignación entre los iconos de Coral que se muestran en la barra de herramientas RTE y los comandos disponibles. No se puede usar ningún otro icono aparte de los iconos de Coral.
-
Cree un nodo llamado
icons
bajouiSettings/cui
. -
Cree nodos para los iconos individuales debajo de ella.
-
En cada uno de los nodos de icono individuales, especifique un icono de Coral y un comando para asignarlo al icono.
A continuación se muestra un fragmento de ejemplo para asignar el comando Negrita al icono de Coral denominado textItalic
.
<text jcr:primaryType="nt:unstructured" sling:resourceType="cq/gui/components/authoring/dialog/richtext" name="./text" useFixedInlineToolbar="{Boolean}true">
<rtePlugins jcr:primaryType="nt:unstructured">
<format jcr:primaryType="nt:unstructured" features="bold,italic"/>
</rtePlugins>
<uiSettings jcr:primaryType="nt:unstructured">
<cui jcr:primaryType="nt:unstructured">
<inline jcr:primaryType="nt:unstructured"
toolbar="[format#bold,format#italic,format#underline,links#modifylink,links#unlink]">
</inline>
<icons jcr:primaryType="nt:unstructured">
<bold jcr:primaryType="nt:unstructured"
command="format#bold"
icon="textItalic"/>
</icons>
</cui>
</uiSettings>
</text>
Cambiar al editor de texto enriquecido de CoralUI 2 switch-to-coralui-rich-text-editor
En una página, puede incluir CoralUI 2 RTE clientlib o CoralUI 3 RTE clientlib. De forma predeterminada, el Editor de texto enriquecido incluye la clientlib CoralUI 3 RTE. Para cambiar a CoralUI 2 RTE, realice los siguientes pasos.
rte.coralui3
biblioteca.-
Superposición del nodo
/libs/cq/gui/components/authoring/editors/clientlibs/core
bajo/apps
y haga lo siguiente:- Reemplazar
rte.coralui3
conrte.coralui2
para la propiedad dependencies. - Reemplazar
cq.authoring.editor.core.inlineediting.rte.coralui3
concq.authoring.editor.core.inlineediting.rte.coralui2
para la propiedad embed. - Reemplazar
cq.authoring.rte.coralui3
concq.authoring.rte.coralui2
para la propiedad embed.
- Reemplazar
-
Superponer los nodos
/libs/cq/gui/components/authoring/dialog/richtext/clientlibs/rte/coralui3
y/libs/cq/gui/components/authoring/dialog/richtext/clientlibs/rte/coralui2
bajo/apps
.Quitar categoría
cq.authoring.dialog
de/apps/cq/gui/components/authoring/dialog/richtext/clientlibs/rte/coralui3
y agréguelo a/apps/cq/gui/components/authoring/dialog/richtext/clientlibs/rte/coralui2
. -
Cambie cualquier otra dependencia que se incluya en la página de
rte.coralui3
hastarte.coralui2
. Por ejemplo, después de superponer el nodo/libs/mcm/campaign/components/touch-ui/clientlibs/rte
bajo/apps
, cambie cualquier dependencia de ella derte.coralui3
hastarte.coralui2
. -
Superposición del nodo
cq/ui/widgets
bajo/apps
. Reemplace la dependenciacq.rte
en el nodo/apps/cq/ui/widgets
concq.coralui2.rte
.
Información adicional further-information
Para obtener más información sobre la configuración de RTE, consulte la AEM API de Widget Referencia de.
En particular, para ver los complementos y las opciones relacionadas disponibles:
-
El CQ.form.RichText proporciona un campo de formulario para editar información de texto con estilo (texto enriquecido). Para conocer todos los parámetros disponibles para el formulario de texto enriquecido, consulte las Opciones de configuración.
-
El componente Texto enriquecido proporciona una amplia gama de funcionalidades mediante los complementos que se enumeran en CQ.form.rte.plugins.Plugin. Para cada complemento:
- consulte las Características para obtener detalles sobre la funcionalidad que se puede habilitar (o deshabilitar)
- Consulte las Opciones de configuración para todos los parámetros disponibles para obtener una configuración detallada del complemento correspondiente
-
También hay disponible más información sobre las Reglas del HTML para los vínculos.
Se pueden utilizar para ampliar y personalizar su propio RTE. Por ejemplo, para enumerar los anclajes disponibles en la página al crear un vínculo, puede proporcionar su propia implementación de la variable LinkPlugin
.
Limitaciones conocidas known-limitations
AEM La capacidad de RTE tiene las siguientes limitaciones:
-
AEM Las funcionalidades de RTE solo son compatibles en los cuadros de diálogo de componentes de. RTE no es compatible con asistentes o formularios base como Propiedades de página y Andamiaje en la IU táctil.
-
AEM no funciona en la Dispositivos híbridos.
-
No asigne un nombre al nodo de configuración RTE
config
. De lo contrario, la configuración de RTE se aplica solo para los administradores y no para los usuarios del grupocontent-author
. -
RTE no admite marcos en línea o iframes para incrustar contenido.
Prácticas recomendadas y sugerencias best-practices-and-tips
- Habilite solo los complementos sin ventana emergente para un cuadro de diálogo flotante. Los complementos sin ventanas emergentes son de menor tamaño y son los más adecuados para un cuadro de diálogo flotante.
- Habilite los complementos con ventanas emergentes de mayor tamaño, como
Paste
complemento, solo en el modo de diálogo de pantalla completa o en el modo de pantalla completa. Los complementos con ventanas emergentes grandes necesitan más espacio en la pantalla para proporcionar una buena experiencia de creación. - Si utiliza complementos personalizados para CoralUI3 RTE, utilice
rte.coralui3
biblioteca.
Solución de problemas frecuentes con RTE troubleshoot-issues-with-aem-rich-text-editor
¿Cómo se seleccionan varias celdas de la tabla?
Para seleccionar varias celdas de una tabla, presione Ctrl
o Cmd
y, a continuación, haga clic en las celdas de la tabla una por una.
Ahora realice la operación en la selección, por ejemplo, establezca las propiedades de las celdas seleccionadas.
Los hipervínculos se pierden al editar un componente con el botón Configurar
Agregue un hipervínculo en un componente de texto editándolo con el botón Configurar. Puede perder el hipervínculo al editarlo de nuevo y validarlo por segunda vez.
Una solución consiste en hacer clic en el componente de texto cuando el cuadro de diálogo de edición se muestre por segunda vez y, a continuación, ejecutar la validación del vínculo.
AEM Este problema se resuelve en la versión 6.3 y posteriores de la versión de.
El contenido del HTML añadido en el modo de edición de código fuente se pierde
No agregue un HTML propenso a XSS. AEM La, y no el RTE, puede eliminar parte del contenido del HTML para adherirse a las reglas de antisamía XSS.
Para comprobar que el HTML pegado está guardado, compruebe el contenido guardado en CRXDE (en el nodo de contenido).
Si no se guarda, RTE debe haber eliminado el HTML, ya que no se adhirió a las reglas del RTE.
Si se guarda en CRXDE pero no se representa en la página (para comprobar la renderización, consulte la página previsualizaciónAEM , se elimina mediante reglas XSS de.
El componente multicampo no funciona como se esperaba
Para crear un componente de varios campos, utilice CoralUI 3 exclusivamente. No utilice los cuadros de diálogo de componentes de CoralUI 2.
Compruebe también que el código de implementación de varios campos y la estructura de nodos son correctos.
La configuración disponible para los administradores no está disponible para los autores
Si las actualizaciones de las configuraciones de interfaz se reflejan para los administradores, pero no para las cuentas de autor, asegúrese de que el nodo de configuración no tenga nombre config
. Utilice el configPath
propiedad.