Configurar o editor de rich text configure-the-rich-text-editor
O Editor de Rich Text (RTE) fornece aos autores uma grande variedade de funcionalidades para editar conteúdo de texto. Ícones, caixas de seleção, barra de ferramentas e menus são fornecidos para uma experiência de edição de texto WYSIWYG. Os administradores configuram o RTE para ativar, desativar e estender os recursos disponíveis nos componentes de criação. Veja como os autores usam o RTE para criar conteúdo da Web.
Os conceitos e as etapas do RTE necessários para configurá-lo estão listados abaixo.
Compreender a interface do usuário disponível para autores understand-rte-ui
A interface do RTE oferece um design responsivo para o ambiente de criação. A interface foi projetada para ser usada em dispositivos de toque e desktop.
Figura: barra de ferramentas do Editor de Rich Text com todas as opções disponíveis habilitadas.
A barra de ferramentas fornece as opções para a experiência de criação WYSIWYG. Os administradores do Experience Manager podem configurar as opções disponíveis na barra de ferramentas da interface. Um conjunto abrangente de opções de edição está disponível por padrão no Experience Manager. Os desenvolvedores podem personalizar Experience Manager para adicionar mais opções de edição.
Vários modos de edição editingmodes
Os autores podem criar e editar conteúdo textual no Experience Manager usando os diferentes modos de componentes. As opções da barra de ferramentas para criação e formatação de conteúdo e a experiência do usuário de componentes habilitados para RTE em modos de edição diferentes variam de acordo com as configurações de RTE.
Edição em linha inline-editing
Para editar o conteúdo em uma página, abra-o com um clique duplo lento. Uma barra de ferramentas compacta com opções básicas é apresentada.
Figura: edição em linha com opções básicas na barra de ferramentas.
Edição em tela cheia full-screen-editing
Experience Manager componentes podem ser abertos no modo de exibição de tela inteira que oculta o conteúdo da página e ocupa a tela disponível. Considere a edição em tela cheia como uma versão detalhada da edição em linha, pois ela oferece a maioria das opções de edição. Ele pode ser aberto clicando no , na barra de ferramentas compacta, ao usar o modo de edição em linha.
No modo de tela cheia da caixa de diálogo, juntamente com uma barra de ferramentas detalhada do RTE, as opções e os componentes disponíveis em uma caixa de diálogo também estão disponíveis. Ela é aplicável somente para uma caixa de diálogo que contém o RTE junto com outros componentes.
Figura: a barra de ferramentas detalhada do RTE ao editar no modo de tela cheia.
Edição de diálogo dialog-editing
Quando um componente é clicado duas vezes, uma caixa de diálogo é aberta para editar o conteúdo. A caixa de diálogo é aberta na parte superior da página existente. Em alguns cenários específicos, a caixa de diálogo é aberta como uma janela pop-up. Por exemplo, quando um componente de Texto faz parte de uma coluna em um layout de página de várias colunas e a área disponível para a caixa de diálogo é menor.
Figura: Modo de edição da caixa de diálogo.
Sobre plug-ins do RTE e os recursos associados aboutplugins
A funcionalidade é disponibilizada por meio de uma série de plug-ins, cada um com:
-
Uma propriedade
features
que é,- Usado para ativar ou desativar a funcionalidade básica desse plug-in.
- Configurado usando um procedimento padronizado.
-
Quando apropriado, mais propriedades e opções que exigem configuração especializada.
Os recursos básicos do RTE são ativados ou desativados pelo valor da propriedade features
em um nó específico do plug-in apropriado.
A tabela a seguir lista os plug-ins atuais, mostrando:
- IDs de plug-in com um link para a documentação da API. A ID é usada como o nome do nó ao ativar um plug-in.
- Valores permitidos para a propriedade
features
. - Uma descrição da funcionalidade fornecida pelo plug-in.
cut
, copy
, paste-default
, paste-plaintext
, paste-wordhtml
find
, replace
image
justifyleft
, justifycenter
, justifyright
ordered
, unordered
, indent
, outdent
specialchars
, sourceedit
paraformat
<p>
, <h1>
, <h2>
e <h3>
). Você pode adicionar mais formatos de parágrafo ou estender a lista.styles
subscript
, superscript
table
, removetable
, insertrow
, removerow
, insertcolumn
, removecolumn
, cellprops
, mergecells
, splitcell
, selectrow
, selectcolumns
dialogFullScreen
para configurar a barra de ferramentas para o modo de tela cheia.Compreender os caminhos e os locais de configuração understand-the-configuration-paths-and-locations
O modo de edição de RTE e a interface fornecida para seus autores decidem o local dos detalhes de configuração quando você está ativando os plug-ins de RTE. As localizações são:
- Modo incorporado:
cq:editConfig/cq:inplaceEditing
. - Modo de tela inteira:
cq:editConfig/cq:inplaceEditing
. - Modo de diálogo:
cq:dialog
. - Modo de diálogo de tela inteira:
cq:dialog
.
cq:inplaceEditing
como config
. No nó cq:inplaceEditing
, defina as seguintes propriedades:- Nome:
configPath
- Tipo:
String
- Value: caminho do nó que contém a configuração real
config
. Caso contrário, as configurações de RTE terão efeito somente para os administradores e não para os usuários no grupo content-author
.Configure as seguintes propriedades que se aplicam ao modo de edição da caixa de diálogo:
-
useFixedInlineToolbar
: você pode tornar a barra de ferramentas do RTE fixa em vez de flutuante. Defina essa propriedade Booliana definida no nó RTE com sling:resourceType=cq/gui/components/authoring/dialog/richtext
comoTrue
. Quando esta propriedade é definida comoTrue
, a edição de rich text é iniciada no eventofoundation-contentloaded
. Para evitar isso, defina a propriedadecustomStart
comoTrue
e acione o eventorte-start
para iniciar a edição do RTE. Quando essa propriedade étrue
, o RTE não inicia ao clicar e esse é o comportamento padrão. -
customStart
: Defina esta propriedade Booliana definida no nó de RTE comoTrue
, para controlar quando iniciar o RTE acionando o eventorte-start
. -
rte-start
: Acione este evento nocontenteditable-div
do RTE, quando iniciar a edição do RTE. Funciona somente secustomStart
foi definido comotrue
.
Quando o RTE é usado na caixa de diálogo habilitada para toque, defina a propriedade useFixedInlineToolbar
como true
para evitar problemas.
Ativar funcionalidades do RTE ativando plug-ins enable-rte-functionalities-by-activating-plug-ins
As funcionalidades do RTE são disponibilizadas por meio de uma série de plug-ins, cada um com a propriedade de recursos. É possível configurar a propriedade features para ativar ou desativar os vários recursos de cada plug-in.
Para obter configurações detalhadas dos plug-ins RTE, consulte como ativar e configurar os plug-ins RTE.
O componente de texto dos Componentes principais permite que os editores de modelo configurem vários plug-ins de RTE usando a interface do usuário como políticas de conteúdo, eliminando a necessidade de configuração técnica. As políticas de conteúdo podem funcionar com as configurações da interface do usuário de RTE conforme descrito neste documento. Para obter mais informações, consulte criar modelos de página e a documentação do desenvolvedor dos Componentes Principais.
Para fins de referência, os componentes de Texto padrão (fornecidos como parte de uma instalação padrão) podem ser encontrados em:
/libs/wcm/foundation/components/text
/libs/foundation/components/text
Para criar seu próprio componente de texto, copie o componente acima em vez de editar esses componentes.
Configurar a barra de ferramentas do RTE dialogfullscreen
O Experience Manager permite configurar a interface do Editor de Rich Text de forma diferente para os diferentes modos de edição. As configurações padrão são fornecidas abaixo. Você pode sobrepor esses valores-padrão com base em suas necessidades. Você personaliza apenas os recursos da barra de ferramentas que deseja fornecer aos autores. Não é necessário especificar todas as configurações da barra de ferramentas.
Para configurar a barra de ferramentas para dialogFullScreen
, use o exemplo de configuração a seguir.
<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>
Diferentes configurações da interface do usuário são usadas para o modo em linha e o modo de tela cheia. A propriedade da barra de ferramentas especifica a opção da barra de ferramentas.
Por exemplo, se a própria opção for um recurso (por exemplo, Bold
), ela será especificada como PluginName#FeatureName
(por exemplo, links#modifylink
).
Se a opção for um pop-over (contendo alguns recursos de um plug-in), ela será especificada como #PluginName
(por exemplo, #format
).
Os separadores (|
) entre um grupo de opções podem ser especificados com -
.
O nó pop-up no modo em linha ou tela cheia contém uma lista das janelas pop-up que estão sendo usadas. Cada nó filho no nó popovers
é nomeado com base no plug-in (por exemplo, format). Ele tem uma propriedade "items" contendo uma lista de recursos do plug-in (por exemplo, format#bold).
Configurações da interface do usuário e políticas de conteúdo do RTE rtecontentpolicies
Os administradores podem controlar as opções de RTE usando políticas de conteúdo, digamos, em vez de fazer a configuração conforme descrito acima. As políticas de conteúdo definem as propriedades de design de um componente quando usadas como parte de um modelo editável. Por exemplo, se um componente de texto que usa o RTE for usado com um modelo editável, a política de conteúdo poderá definir que a opção de negrito esteja disponível e que algumas opções de formatação de parágrafo estejam disponíveis. As políticas de conteúdo são reutilizáveis e podem ser aplicadas a vários modelos.
As opções disponíveis no fluxo de RTE downstream das configurações da interface do usuário para as políticas de conteúdo.
- As configurações da interface do usuário definem quais opções estão disponíveis para as políticas de conteúdo.
- Se a configuração da interface do usuário do RTE tiver sido removida ou não ativar um item, a política de conteúdo não poderá configurá-lo.
- Um autor tem acesso somente a essas funcionalidades, conforme disponibilizado pelas configurações da interface do usuário e pelas políticas de conteúdo.
Como exemplo, você pode ver a documentação do Componente principal de texto.
Personalizar o mapeamento entre ícones e comandos da barra de ferramentas iconstoolbar
Você pode personalizar o mapeamento entre ícones Coral exibidos na barra de ferramentas do RTE e os comandos disponíveis. Você não pode usar outros ícones além dos ícones Coral.
-
Crie um nó chamado
icons
emuiSettings/cui
. -
Crie nós para ícones individuais abaixo dele.
-
Em cada um dos nós de ícone individuais, especifique um ícone Coral e um comando para mapear para o ícone.
Abaixo está um trecho de exemplo para mapear o comando Bold
para o ícone Coral chamado 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>
Limitações conhecidas known-limitations
O recurso RTE do Experience Manager tem as seguintes limitações:
-
Os recursos de RTE têm suporte somente nas caixas de diálogo do componente Experience Manager. RTE não é suportado em assistentes ou formulários de Fundação.
-
Experience Manager não funciona em dispositivos híbridos.
-
Não nomeie o nó de configuração de RTE
config
. Caso contrário, a configuração do RTE será aplicada apenas aos administradores e não aos usuários no grupocontent-author
. -
O RTE não é compatível com a incorporação de conteúdo em um quadro incorporado ou um iframe.
Práticas recomendadas e dicas best-practices-and-tips
- Em uma caixa de diálogo flutuante, ative somente os plug-ins sem uma caixa de diálogo pop-up. Plug-ins sem pop-up são menores em tamanho e são mais adequados para uma caixa de diálogo flutuante.
- Habilite os plug-ins com pop-up maior, como o plug-in
Paste
, somente no modo de caixa de diálogo de tela cheia ou no modo de tela cheia. Os plug-ins com pop-ups grandes precisam de mais espaço na tela para fornecer uma boa experiência de criação. - Se você estiver usando plug-ins personalizados para CoralUI3 RTE, use a biblioteca
rte.coralui3
.