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
属性。
启用所有功能 | 启用一些特定功能。 | 禁用所有功能。 | |
---|---|---|---|
名称 | 功能 | 功能 | 功能 |
类型 | 字符串 | String (多字符串;将Type设置为 String 并单击 Multi 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
下。
以纯文本形式粘贴剪贴板内容。 在插入之前,它会从复制的内容中剥离所有样式和格式元素 Experience Manager 组件。 使用进行配置 plaintext
下。
从MS Word复制时,粘贴包含格式设置的文本(包括表格)。 不支持从其他源(如网页或MS Excel)复制和粘贴文本,并且仅保留部分格式。 使用进行配置 wordhtml
下。
在组件中,导航到 <rtePlugins-node>/edit
节点。 如果节点不存在,则创建节点。 有关更多信息,请参阅 激活插件.
在 edit
节点使用以下详细信息创建属性:
defaultPasteMode
String
browser
, plaintext
,或 wordhtml
模式。pass-as-Microsoft-Word (paste-wordhtml
)模式可进行进一步配置,以便在粘贴时显式允许使用几种样式 Experience Manager 来自其他程序,例如 Microsoft Word.
例如,如果粘贴时只允许使用粗体格式和列表 Experience Manager中,您可以筛选掉其他格式。 这称为可配置的粘贴筛选,可同时为以下两项执行该操作:
对于链接,您还可以定义自动接受的协议。
配置在将文本粘贴到时允许的格式 Experience Manager 从另一个程序:
在组件中,导航到节点 <rtePlugins-node>/edit
. 如果节点不存在,则创建节点。 有关更多详细信息,请参阅 激活插件.
在下创建节点 edit
保存HTML粘贴规则的节点:
htmlPasteRules
nt:unstructured
在下创建节点 htmlPasteRules
,保存允许的基本格式的详细信息:
allowBasics
nt:unstructured
要控制接受的各个格式,请在 allowBasics
节点:
bold
italic
underline
anchor
(对于链接和已命名锚点)image
所有属性都是 类型 Boolean
,因此在相应的中 值 您可以选择或删除复选标记以启用或禁用该功能。
如果未明确定义,则使用默认值true ,并且格式可接受。
其它格式也可以使用一系列其它属性或节点来定义,这些属性或节点也应用于 htmlPasteRules
节点:
属性 | 类型 | 描述 |
---|---|---|
allowBlockTags |
String |
定义允许的块标记列表。 一些可能的块标记包括标题(h1、h2、h3)、段落§、列表(ol、ul)、表格(table)。 |
fallbackBlockTag |
String |
定义块标记,用于具有未包含在中的块标记的任何块 allowBlockTags . 通常, p 就足够了。 |
table |
nt:unstructured |
定义粘贴表时的行为。 此节点必须具有属性allow(类型Boolean)才能定义是否允许粘贴表。 如果allow设置为false,则必须指定属性ignoreMode(类型String)以定义如何处理粘贴的表内容。 ignoreMode的有效值为 remove 要删除表内容和 paragraph 将表格单元格转换为段落。 |
list |
nt:unstructured |
定义粘贴列表时的行为。 必须具有属性 allow (键入布尔值)以定义是否允许粘贴列表。 如果 allow 设置为 false ,指定属性 ignoreMode (类型 String ),以定义如何处理粘贴的任何列表内容。 ignoreMode的有效值为 remove 删除列表内容和 paragraph 将列表项转换为段落。 |
有效示例 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体验。
富文本编辑器使用容器DOM元素,其ID为 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
保存更改。
对每个所需的样式重复上述步骤。
作者使用 Experience Manager 要创作日语内容,可以将样式应用于字符以避免在不需要换行符时换行。 这允许作者在所需位置处断句。 此功能的样式基于CSS样式表中预定义的CSS类。
要创建作者可以应用于日语文本的样式,请执行以下步骤:
在“样式”节点下创建一个节点。 请参阅 指定样式.
jpn-word-wrap
nt:unstructure
添加属性 cssName
到节点以引用CSS类。 此类名称是日语自动换行功能的保留名称。
cssName
String
jpn-word-wrap
(无前置词 .
)将属性文本添加到同一节点。 值是作者在选择样式时看到的样式名称。
text
String
Japanese word-wrap
创建样式表并指定其路径。 请参阅 指定样式表的位置. 将以下内容添加到样式表中。 根据需要更改背景颜色。
.text span.jpn-word-wrap {
display:inline-block;
}
.is-edited span.jpn-word-wrap {
background-color: #ffddff;
}
在RTE中创作的任何文本都放置在块标记中,默认设置为 <p>
. 启用 paraformat
插件,您可以使用下拉选择列表指定可分配给段落的其他块标记。 段落格式通过指定正确的块标记来确定段落类型。 作者可以使用“格式”选择器选择和分配格式。 示例块标记包括标准段落 <p> 和标题 <h1>, <h2>,等等。
此插件不适用于结构复杂的内容,例如列表或表。
如果块标记,例如 <hr>
标记,无法分配到段落,它不是有效的用例 paraformat
插件。
首次启用段落格式插件时,没有默认的段落格式可用。 弹出列表为空。 要向作者提供段落格式,请执行以下操作:
对于以后的重新配置(如要添加更多格式),请仅按照说明的相关部分操作。
要启用 paraformat
插件,请按照以下步骤操作:
在组件中,导航到节点 <rtePlugins-node>/paraformat
. 如果节点不存在,则创建节点。 有关更多详细信息,请参阅 激活插件.
创建 features
上的属性 paraformat
节点:
features
String
*
(星号)如果未进一步配置此插件,则启用的默认格式为段落( <p>
),标题1 ( <h1>
),标题2 ( <h2>
),标题3 ( <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>
格式,因为它是默认格式。
在标准中 Experience Manager 安装,当 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中,保存属性后,将显示表示的字符。 请参阅下面的示例中一半内容。 重复以上步骤以使作者可以使用更多特殊字符。
使用中的步骤1至3 定义单个字符.
下 chars
添加节点以保存字符范围的定义:
nt:unstructured
在此节点下(根据特殊字符范围命名)添加以下两个属性:
保存更改。
例如,定义9998到10000之间的范围时,为您提供了以下字符。
图:在CRXDE中,定义要在RTE中可用的字符范围
样式通常应用于文本,但也可以对表或几个表单元格应用单独的样式集。 作者可以在“单元格属性”或“表属性”对话框的“样式选择器”框中找到此类样式。 在文本组件(或派生项)中编辑表时样式可用,在标准表组件中则不可用。
您只能为经典UI定义表和单元格的样式。
在RTE组件中或从RTE组件中复制和粘贴表依赖于浏览器。 并非所有浏览器都支持开箱即用。 根据表结构和浏览器,可能会得到不同的结果。 例如,在经典UI和触屏UI中,当您在Mozilla Firefox的RTE组件中复制并粘贴表时,不会保留表的布局。
在组件内,导航到节点 <rtePlugins-node>/table
. 如果节点不存在,则创建节点。 有关更多详细信息,请参阅 激活插件.
创建 features
上的属性 table
节点:
features
String
*
如果不希望启用所有表格功能,可创建 features
属性为:
类型 String[]
值(s)下列其中一项或两项(视需要):
table
允许编辑表属性;包括样式。
cellprops
允许编辑单元格属性,包括样式。
定义CSS样式表的位置以引用这些样式表。 请参阅 指定样式表的位置 因为这与定义 文本样式. 如果定义了其他样式,则可以定义位置。
在 table
节点根据需要创建以下节点:
为整个表定义样式(可在 表属性):
tableStyles
cq:WidgetCollection
为各个单元格定义样式(可在 单元格属性),
cellStyles
cq:WidgetCollection
创建节点(在 tableStyles
或 cellStyles
节点),以表示单个样式,
nt:unstructured
在此节点上创建属性:
要定义引用的CSS样式,
cssName
String
.
例如, cssClass
而不是 .cssClass
)要定义要在弹出式选择器中显示的描述性文本,请执行以下操作:
text
String
保存所有更改。
对每个所需的样式重复上述步骤。
有时,您可以创建没有可视文本的数据表,但前提是列标题的用途隐含在列与其他列的视觉关系中。 在这种情况下,有必要在标题单元格的单元格中提供隐藏的内部文本,以允许屏幕阅读器和其他辅助技术帮助有各种需求的阅读器了解列的用途。
为了在这种情况下增强辅助功能,RTE支持隐藏的标题单元格。 此外,它还提供与表中隐藏标头相关的配置设置。 这些设置允许您在编辑和预览模式下对隐藏的标题应用CSS样式。 为帮助作者在编辑模式下识别隐藏的标头,请在代码中包含以下参数:
hiddenHeaderEditingCSS
:指定在编辑RTE时应用于hidden-header单元格的CSS类的名称。hiddenHeaderEditingStyle
:指定在编辑RTE时应用于hidden-header单元格的Style字符串。如果在代码中同时指定CSS和Style字符串,则CSS类将优先于样式字符串,并可能覆盖样式字符串所做的任何配置更改。
为帮助作者在预览模式下对隐藏的标题应用CSS,您可以在代码中包含以下参数:
hiddenHeaderClassName
:指定在预览模式下应用于隐藏标题单元格的CSS类的名称。hiddenHeaderStyle
:指定在预览模式下应用于hidden-header单元格的样式字符串。如果在代码中同时指定CSS和Style字符串,则CSS类将优先于样式字符串,并可能覆盖样式字符串所做的任何配置更改。
当激活spellcheck插件时,RTE会为每种相应的语言使用词典。 然后,通过获取子树的语言属性或者从URL中提取语言来根据网站的语言选择这些语言;例如。 该 /en/
分支被选为英语, /de/
分支为德语。
消息“拼写检查失败。” 如果尝试检查未安装的语言,则会显示。
标准Experience Manager安装包括以下词典:
标准词典位于 /libs/cq/spellchecker/dictionaries
,以及相应的自述文件。 请勿修改文件。
要添加更多词典,请按照以下步骤操作(如有必要)。
选择所需的语言并下载包含拼写定义的ZIP文件。 提取文件系统中存档文件的内容。
仅字典在 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
0
以完全禁用撤消/重做。保存更改。
当在任意文本中按制表符字符时,会插入预定义的空格数;默认情况下,这是三个不间断的空格和一个空格。
要定义选项卡大小,请执行以下操作:
在组件中,导航到节点 <rtePlugins-node>/keys
. 如果节点不存在,则创建节点。 有关更多详细信息,请参阅 激活插件.
在 keys
节点创建属性:
tabSize
String
保存更改。
启用缩进(默认)后,您可以定义缩进的大小:
此缩进大小仅适用于文本的段落(块);它不会影响实际列表的缩进。
在组件内,导航到节点 <rtePlugins-node>/lists
. 创建这些节点(如果这些节点不存在)。 有关更多详细信息,请参阅 激活插件.
在 lists
节点创建 identSize
参数:
identSize
Long
您可以定义在组件对话框中显示的可编辑空间的高度。 仅当在对话框中使用RTE时,配置才适用。 配置不会更改对话框窗口的高度。
在 ../items/text
节点,在组件的对话框定义中,创建一个属性:
height
Long
保存更改。
在中添加链接时 Experience Manager中,您可以定义要使用的CSS样式和自动接受的协议。 配置链接在中添加的方式 Experience Manager 从另一个程序定义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
)有效数组 协议 包括 https://
, 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
)。保存所有更改。