RTE功能通过一系列插件提供,每个插件都具有features属性。 您可以配置一个或多个RTE功能,以启用或禁用该功能属性。 本文介绍了如何具体配置RTE插件。
有关其他RTE配置的详细信息,请参阅 配置富文本编辑器.
使用CRXDE Lite时,建议使用 全部保存 选项。
要激活插件,请执行以下步骤。 仅当您首次配置插件时,才需要执行某些步骤,因为相应的节点不存在。
默认情况下, format
, link
, list
, justify
和 control
插件及其所有功能均在RTE中启用。
相应 rtePlugins
节点称为 <rtePlugins-node>
以避免在本文中出现重复。
使用CRXDE Lite,找到项目的文本组件。
创建的父节点 <rtePlugins-node>
如果不存在,则在配置任何RTE插件之前:
根据您的组件,父节点包括:
config: .../text/cq:editConfig/cq:inplaceEditing/config
.../text/cq:editConfig/cq:inplaceEditing/inplaceEditingTextConfig
text: .../text/dialog/items/tab1/items/text
类型为: jcr:primaryType cq:Widget
这两者都具有以下属性:
name
String
./text
根据您配置的界面,创建节点 <rtePlugins-node>
,如果不存在:
rtePlugins
nt:unstructured
在下面,为要激活的每个插件创建一个节点:
nt:unstructured
激活插件后,请按照以下准则配置 features
属性。
启用所有功能 |
启用一些特定功能 | 禁用所有功能 |
|
---|---|---|---|
名称 | 功能 | 功能 | 功能 |
类型 | 字符串 | 字符串(多字符串;将类型设置为字符串,然后单击多CRXDE Lite) | 字符串 |
价值 | *(星号) |
设置为一个或多个特征值 | - |
的 findreplace
插件不需要任何配置。 它开箱即用。
在使用替换功能时,要替换的替换字符串应与查找字符串同时输入。不过,您仍可以在替换字符串之前单击“查找”来搜索它。如果在单击“查找”后输入替换字符串,则搜索将重置到文本的开头。
在单击“查找”时,“查找和替换”对话框变为透明;在单击“替换”时,此对话框变为不透明。这允许作者审查自己将替换的文本。如果用户单击“全部替换”,则对话框将关闭并显示已进行替换的数量。
使用RTE时,作者可以以以下三种模式之一粘贴内容:
浏览器模式:使用浏览器的默认粘贴实施粘贴文本。 它不是推荐的方法,因为它可能会引入不需要的标记。
纯文本模式:将剪贴板内容粘贴为纯文本。 在插入之前,它会删除复制内容中的所有样式和格式元素 Experience Manager 组件。
MS Word模式:从MS Word复制时,粘贴带格式的文本(包括表格)。 不支持从其他源(如网页或MS Excel)复制和粘贴文本,并仅保留部分格式。
在RTE工具栏中,您可以为作者提供以下三个图标中的一些、全部或无一个:
粘贴(Ctrl+V):可以预配置为与上述三种粘贴模式之一对应。
粘贴为文本:提供纯文本模式功能。
从Word粘贴:提供MS Word模式功能。
要配置RTE以显示所需的图标,请执行以下步骤。
/apps/<myProject>/components/text
.rtePlugins/edit
. 请参阅 激活插件 如果节点不存在。features
属性 edit
节点,并添加一个或多个功能。 保存所有更改。您可以预配置 粘贴(Ctrl+V) 图标。 此配置还定义作者用于粘贴内容的键盘快捷键Ctrl+V的行为。
配置允许使用以下三种类型的用例:
使用浏览器的默认粘贴实施粘贴文本。 它不是推荐的方法,因为它可能会引入不需要的标记。 使用 browser
下。
将剪贴板内容粘贴为纯文本。 在AEM组件中插入之前,它会删除复制内容中的所有样式和格式元素。 使用 plaintext
下。
从MS Word复制时,粘贴带格式的文本(包括表格)。 不支持从其他源(如网页或MS Excel)复制和粘贴文本,并仅保留部分格式。 使用 wordhtml
下。
在您的组件中,导航到 <rtePlugins-node>/edit
节点。 如果节点不存在,请创建节点。 有关更多信息,请参阅 激活插件.
在 edit
节点使用以下详细信息创建属性:
defaultPasteMode
String
browser
, plaintext
或 wordhtml
.粘贴为Microsoft字(paste-wordhtml
)模式,以便您能够明确定义从其他程序(如Microsoft Word)粘贴AEM时允许使用的样式。
例如,如果在AEM中粘贴时只允许使用粗体格式和列表,则可以过滤掉其他格式。 这称为可配置粘贴过滤,可用于以下两项:
对于链接,您还可以定义自动接受的协议。
要配置将文本从其他程序粘贴到AEM中时允许使用的格式,请执行以下操作:
在您的组件中,导航到节点 <rtePlugins-node>/edit
. 如果节点不存在,请创建节点。 有关更多详细信息,请参阅 激活插件.
在 edit
用于保存HTML粘贴规则的节点:
htmlPasteRules
nt:unstructured
在下创建节点 htmlPasteRules
,以保存所允许的基本格式的详细信息:
allowBasics
nt:unstructured
要控制接受的各个格式,请在 allowBasics
节点:
bold
italic
underline
anchor
(对于链接和命名锚点)image
所有属性均为 类型 Boolean
,因此在适当的 值 您可以选择或删除复选标记以启用或禁用功能。
如果未明确定义,则使用默认值true,并接受格式。
也可以使用一系列其他属性或节点来定义其他格式,这些属性或节点也应用于 htmlPasteRules
节点。 保存所有更改。
您可以将以下属性用于 htmlPasteRules
.
属性 | 类型 | 描述 |
---|---|---|
allowBlockTags |
字符串 | 定义允许的块标记列表。 一些可能的块标记包括:
|
fallbackBlockTag |
字符串 | 定义块标记,该标记用于任何块中未包含块标记 allowBlockTags . p 在大多数情况下都足够了。 |
表 | nt:unstructured | 定义粘贴表时的行为。 此节点必须具有属性 allow (类型布尔值)来定义是否允许粘贴表。 如果将允许设置为 false ,则必须指定属性 ignoreMode (类型字符串)来定义如何处理粘贴的表内容。 的有效值 ignoreMode 为:
|
list | nt:unstructured | 定义粘贴列表时的行为。 必须具有资产 allow (类型布尔值)来定义是否允许粘贴列表。 如果 allow 设置为 false ,则必须指定属性 ignoreMode (类型字符串)以定义如何处理粘贴的任何列表内容。 的有效值 ignoreMode 为:
|
有效的示例 htmlPasteRules
结构如下。
"htmlPasteRules": {
"allowBasics": {
"italic": true,
"link": true
},
"allowBlockTags": [
"p", "h1", "h2", "h3"
],
"list": {
"allow": false,
"ignoreMode": "paragraph"
},
"table": {
"allow": true,
"ignoreMode": "paragraph"
}
}
作者可以应用样式来更改部分文本的外观。 样式基于您在CSS样式表中预定义的CSS类。 风格化内容包含在 span
标记使用 class
属性引用CSS类。 例如:<span class=monospaced>Monospaced Text Here</span>
。
首次启用“样式”插件后,没有可用的默认样式。 弹出列表为空。 要为作者提供样式,请执行以下操作:
对于以后的配置,假设要添加更多样式,请仅按照说明引用新样式表并指定其他样式。
您可以为 表或表单元格. 这些配置需要单独的过程。
这是通过启用样式插件来完成的。
在您的组件中,导航到节点 <rtePlugins-node>/styles
. 如果节点不存在,请创建节点。 有关更多详细信息,请参阅 激活插件.
创建 features
属性 styles
节点:
features
String
*
(星号)保存所有更改。
启用“样式”插件后,“样式”下拉列表将显示在编辑对话框中。 但是,该列表为空,因为未配置样式。
然后,指定要引用的样式表的位置:
导航到文本组件的根节点,例如 /apps/<myProject>/components/text
.
添加属性 externalStyleSheets
的父节点 <rtePlugins-node>
:
externalStyleSheets
String[]
(多字符串;单击 多 (在CRXDE中)您可以在以后任何时间添加对其他样式表的引用。
保存所有更改。
在对话框(经典UI)中使用RTE时,可以指定为富文本编辑而优化的样式表。 由于技术限制,编辑器中会丢失CSS上下文,因此您可以模拟此上下文以改进所见即所得(WYSIWYG)体验。 富文本编辑器使用ID为的容器DOM元素 CQrte
可用于提供不同样式以供查看和编辑:
#CQ td {
// defines the style for viewing }
#CQrte td {
// defines the style for editing }
在组件定义中,导航到节点 <rtePlugins-node>/styles
,在中创建 启用样式下拉选择器.
在节点下 styles
,创建新节点(也称为 styles
)以保存正在提供的列表:
styles
cq:WidgetCollection
在 styles
表示单个样式的节点:
nt:unstructured
添加属性 cssName
到此节点以引用CSS类:
cssName
String
cssClass
而不是 .cssClass
)添加属性 text
到同一节点;这定义了选择框中显示的文本:
text
String
保存更改。
对每个必需的样式重复上述步骤。
在RTE中创作的任何文本都放置在块标记中,默认为 <p>
. 通过启用 paraformat
插件中,您可以使用下拉选择列表指定可分配给段落的其他块标记。 段落格式通过分配正确的块标记来确定段落类型。 作者可以使用格式选择器选择和分配它们。 示例块标记包括标准段落 <p> 和标题 <h1>, <h2>,等等。
此插件不适用于结构复杂的内容,如列表或表。
如果块标记,例如 <hr> 标记时,无法将其分配给段落,因此对于段落格式插件来说,它不是有效用例。
首次启用“段落格式”插件后,不提供默认的“段落格式”。 弹出列表为空。 要为作者提供段落格式,请执行以下操作:
对于以后(重新)的配置,例如要添加更多格式,请仅按照说明的相关部分操作。
首先,启用 paraformat
插件:
在您的组件中,导航到节点 <rtePlugins-node>/paraformat
. 如果节点不存在,请创建节点。 有关更多详细信息,请参阅 激活插件.
创建 features
属性 paraformat
节点:
features
String
*
(星号)如果未进一步配置插件,则会启用以下默认格式:
<p>
)<h1>
)<h2>
)<h3>
)配置RTE的段落格式时,请勿删除段落标记 <p> 作为格式选项。 如果 <p> 标记被删除,内容作者将无法选择 段落格式 选项。
段落格式可通过以下方式供选择:
在组件定义中,导航到节点 <rtePlugins-node>/paraformat
,在中创建 启用格式下拉选择器.
在 paraformat
节点创建新节点,以保存格式列表:
formats
cq:WidgetCollection
在 formats
节点中,它保存单个格式的详细信息:
nt:unstructured
对于此节点,添加属性以定义使用的块标记:
名称 tag
类型 String
值 格式的块标记;例如:p、h1、h2等
您无需输入分隔尖括号。
对于同一节点,添加另一个属性,以便描述性文本显示在下拉列表中:
description
String
保存更改。
对每种所需的格式重复这些步骤。
如果定义自定义格式,则默认格式(<p>
, <h1>
, <h2>
和 <h3>
)。 重新创建 <p>
格式,因为它是默认格式。
在标准AEM安装中,当 misctools
插件适用于特殊字符(specialchars
)默认选项可立即使用;例如,版权和商标符号。
可以配置RTE以使自己选择的字符可用;通过定义不同的字符或整个序列。
添加自己的特殊字符将覆盖默认选择。 如果需要,请(重新)在您自己的选择中定义这些字符。
在您的组件中,导航到节点 <rtePlugins-node>/misctools
. 如果节点不存在,请创建节点。 有关更多详细信息,请参阅 激活插件.
创建 features
属性 misctools
节点:
名称 features
类型 String[]
值 specialchars
(或 String / *
如果为此插件应用所有功能,则
在 misctools
创建用于保存特殊字符配置的节点:
specialCharsConfig
nt:unstructured
在 specialCharsConfig
创建另一个节点以保存字符列表:
chars
nt:unstructured
在 chars
添加新节点以保存单个字符定义:
nt:unstructured
向此节点添加以下属性:
entity
String
&189;
半份。保存更改。
保存属性后,表示的字符将显示在CRXDE中。 请参阅下面的“一半”示例。 重复上述步骤,为作者提供更多特殊字符。
使用 定义单个字符.
在 chars
添加新节点以保存字符范围的定义:
nt:unstructured
在此节点下(根据您的特殊字符范围命名),添加以下两个属性:
保存更改。
例如,定义范围为9998 - 10000时,将提供以下字符。
在CRXDE中,定义要在RTE中提供的字符范围
RTE中提供的特殊字符会在弹出窗口中显示给作者
样式通常应用于文本,但样式集也可以应用于表格或几个表格单元格。 此类样式可供作者从单元格属性或表属性对话框的样式选择器框中创建。 在文本组件(或衍生组件)内编辑表时(而不是在标准的表组件中编辑表时),可以使用样式。
您只能为经典UI定义表和单元格的样式。
在RTE组件中或从RTE组件中复制和粘贴表依赖于浏览器。 并非所有浏览器都可开箱即用地支持此功能。 根据表结构和浏览器,可能会获得不同的结果。 例如,在经典UI和触屏UI的Mozilla Firefox中,复制并粘贴RTE组件中的表时,不会保留表的布局。
在组件中,导航到节点 <rtePlugins-node>/table
. 如果节点不存在,请创建节点。 有关更多详细信息,请参阅 激活插件.
创建 features
属性 table
节点:
features
String
*
(星号)如果不想启用所有表功能,可以创建 features
属性:
String[]
定义CSS样式表的位置以引用它们。 请参阅 指定样式表的位置 因为这与定义 文本样式. 如果您定义了其他样式,则可以定义该位置。
在 table
节点会创建以下新节点(根据需要):
为整个表定义样式(位于 表属性):
table-styles
cq:WidgetCollection
定义单个单元格的样式(位于 单元格属性):
cellStyles
cq:WidgetCollection
创建新节点(在 table-styles
或 cellStyles
节点)来表示单个样式:
nt:unstructured
在此节点上,创建属性:
定义要引用的CSS样式
cssName
String
.
,例如, cssClass
而不是 .cssClass
)定义要在下拉选择器中显示的描述性文本
text
String
保存所有更改。
对每个必需的样式重复上述步骤。
有时,您可能会创建列标题中不带可视文本的数据表,这假定列与其他列的可视关系暗示了标题的用途。 在这种情况下,必须在标题单元格的单元格内提供隐藏的内部文本,以允许屏幕阅读器和其他辅助技术帮助具有各种需求的读者了解列的用途。
为了增强此类情况下的辅助功能,RTE支持隐藏的标头单元格。 此外,它还提供与表中隐藏标题相关的配置设置。 这些设置允许您在编辑和预览模式下对隐藏的标题应用CSS样式。 要帮助作者在编辑模式下识别隐藏的标题,请在代码中包含以下参数:
hidden-headerEditingCSS
:指定编辑RTE时,在隐藏标题单元格中应用的CSS类的名称。hidden-headerEditingStyle
:指定编辑RTE时对隐藏标题单元格应用的样式字符串。如果您在代码中同时指定CSS和样式字符串,则CSS类将优先于样式字符串,并可能会覆盖样式字符串所做的任何配置更改。
要帮助作者在预览模式下对隐藏的标题应用CSS,您可以在代码中包含以下参数:
hidden-headerClassName
:指定在预览模式下对隐藏的标题单元格应用的CSS类的名称。hidden-headerStyle
:指定在预览模式下应用于隐藏标题单元格的样式字符串。如果您在代码中同时指定CSS和样式字符串,则CSS类将优先于样式字符串,并可能会覆盖样式字符串所做的任何配置更改。
激活拼写检查插件后,RTE会对每种相应语言使用字典。 然后,根据网站的语言选择子树的语言属性或从URL中提取语言;例如。 the /en/
分支被检查为英语, /de/
分支为德语。
消息 Spell checking failed
如果尝试检查未安装的语言,则会显示。 标准字典位于 /libs/cq/spellchecker/dictionaries
,以及相应的自述文件。 请勿修改文件。
标准AEM安装包含美式英语(en_us
)和英式英语(en_gb
)。 要添加更多字典,请执行以下步骤。
执行下列操作之一,以查找您选择的语言的字典:
下载包含拼写定义的存档。 提取文件系统上存档的内容。
只有 MySpell
支持OpenOffice.org v2.0.1或更早版本的格式。 由于字典现在是存档文件,因此建议您在下载后验证存档文件。
找到.aff和.dic文件。 将文件名保留为小写。 例如, de_de.aff
和 de_de.dic
.
在存储库的以下位置加载.aff和.dic文件: /apps/cq/spellchecker/dictionaries
.
RTE拼写检查程序可按需使用。 在您开始键入文本时,它不会自动运行。 要运行拼写检查程序,请单击 拼写检查程序 中。 RTE会检查单词拼写,并突出显示拼写错误的单词。
如果合并拼写检查器建议的任何更改,则文本更改和拼写错误的单词的状态将不再突出显示。 要运行拼写检查程序,请再次点按/单击拼写检查程序按钮。
RTE允许作者撤消或重做上次所做的一些编辑。 默认情况下,历史记录中会存储50个编辑内容。 您可以根据需要配置此值。
在组件中,导航到节点 <rtePlugins-node>/undo
. 如果这些节点不存在,请创建它们。 有关更多详细信息,请参阅 激活插件.
在 undo
节点创建属性:
名称 maxUndoSteps
类型 Long
值 希望保存在历史记录中的撤消步骤数。
保存更改。
当在任何文本中按制表符时,会插入预定义的空格数;默认情况下,这是三个非中断空格和一个空格。 要定义制表符大小,请执行以下操作:
在您的组件中,导航到节点 <rtePlugins-node>/keys
. 如果节点不存在,请创建节点。 有关更多详细信息,请参阅 激活插件.
在 keys
节点创建属性:
tab-size
String
保存更改。
启用缩进(默认)后,您可以定义缩进大小:
此缩进大小仅应用于文本的段落(块);它不会影响实际列表的缩进。
在组件中,导航到节点 <rtePlugins-node>/lists
. 如果这些节点不存在,请创建它们。 有关更多详细信息,请参阅 激活插件.
在 lists
节点创建 identSize
参数:
identSize
Long
您可以定义组件对话框中显示的可编辑空间的高度:
在 ../items/text
节点,创建新属性:
height
Long
这不会更改对话框窗口的高度。
保存更改。
仅当在对话框中使用RTE时(在经典UI中不是就地编辑),才适用此选项。
在AEM中添加链接时,您可以定义:
要配置如何从其他程序在AEM中添加链接,请定义HTML规则。
使用CRXDE Lite,找到项目的文本组件。
在与 <rtePlugins-node>
,即在的父节点下创建节点 <rtePlugins-node>
:
htmlRules
nt:unstructured
的 ../items/text
节点具有以下属性:
xtype
String
richtext
的位置 ../items/text
节点可能会有所不同,具体取决于对话框的结构;两个示例包括:
/apps/myProject>/components/text/dialog/items/text
/apps/<myProject>/components/text/dialog/items/panel/items/text
在 htmlRules
,则创建新节点。
links
nt:unstructured
在 links
节点根据需要定义属性:
内部链接的CSS样式:
cssInternal
String
cssClass
而不是 .cssClass
)外部链接的CSS样式
cssExternal
String
cssClass
而不是 .cssClass
)有效数组 协议. 支持的协议包括 http://
, https://
, file://
和 mailto:
.
protocols
String[]
defaultProtocol (类型的属性) 字符串):用户未明确指定协议时使用的协议。
defaultProtocol
String
如何处理链接的目标属性的定义。 创建新节点:
targetConfig
nt:unstructured
在节点上 targetConfig
:定义所需的属性:
指定目标模式:
名称 mode
类型 String
)
值(s):
auto
:表示选择了自动目标
(由 targetExternal
外部链接的属性或 targetInternal
(内部链接)。
manual
:不适用于此环境
blank
:不适用于此环境
内部链接的目标:
targetInternal
String
auto
)外部链接的目标:
targetExternal
String
auto
)。保存所有更改。