我需要使用自定义按钮设置自定义CKEditor的工具栏。
我已经阅读了这些问题/答案并链接了资源:
如果您总是刷新整页,它们的作用是什么。但是,如果您对页面的一部分进行部分刷新 - 包括至少一个富文本控件(CKEditor版本4.3.2) - 部分刷新后CKEditor选择像' Full' 这样的工具栏(我不知道,但我认为默认类型)是要显示的工具栏类型。
问题是整个 dojo-widget - 自定义IBM CKEditor - thing 。它会使您的toolbar
道场财产被遗忘/忽略'部分刷新后(但仍然设置!!!)。
任何有经验/知识的人,如何最好地解决这个问题,例如: IBM方式(如果有的话?!?!?)?
我通过更改全局CKEditor JS变量的属性(每次在部分刷新块内执行)来快速解决它:
<xp:scriptBlock id="scriptBlock2">
<xp:this.value>
<![CDATA[
CKEDITOR.config.readOnly = true;
CKEDITOR.config.removePlugins = 'autogrow';
CKEDITOR.config.autoGrow_minHeight = 250;
CKEDITOR.config.autoGrow_maxHeight = 250;
CKEDITOR.config.toolbarLocation = 'top';
CKEDITOR.config.toolbar_readonly = [
{ name: 'tools', items: ['Find','Print', 'Preview', 'Maximize']}
];
]]>
</xp:this.value>
</xp:scriptBlock>
答案 0 :(得分:2)
我知道这是一篇旧帖子,但这是一种有效的方法:
CK编辑器使用配置文件。默认情况下,此文件为domino/html/ckeditor/config.js
。它包含编辑器的所有设置,包括工具栏。如果通过提供自己的版本(从原始版本复制)并在自己的版本中配置工具栏来覆盖该文件,则即使进行部分刷新,也将始终使用该配置。
要使CK编辑器使用您的自定义配置文件,您需要向xp:inputRichText
控件添加dojo属性:
<xp:dojoAttribute
name="customConfig"
value="yourConfigFile.js">
</xp:dojoAttribute>
答案 1 :(得分:1)
您可以使用以下方法为CK编辑器添加其他功能:
<xp:inputRichText id="inputRichText1">
<xp:this.dojoAttributes>
<xp:dojoAttribute name="extraPlugins" value="mustache">
</xp:dojoAttribute>
</xp:this.dojoAttributes>
</xp:inputRichText>
并在JavaScript中添加:
CKEDITOR.plugins.add( 'mustache', ...);
我的博客here和here - Part 2
分为两部分告诉我们它是怎么回事!
答案 2 :(得分:0)
您可以使用dojo.behavior
在页面加载和每次部分刷新后运行JavaScript函数。以下是使用它的示例,尽管此示例是将FontAwesome图像添加到DataView上的类别http://www.intec.co.uk/getting-awesome-category-icons-in-data-views/