Kentico CKEditor 动态配置样式集
Kentico CKEditor Configure Style Set Dynamically
我正在使用 Kentico 9,我希望能够在不同的页面上使用不同的 CK 编辑器样式集。我已将样式集添加到 styles.js 文件,如下所示。
CKEDITOR.stylesSet.add("mystyles", [{ name: "testone", element: "p" }]);
然后在页面中我根据 CK 编辑器网站添加了一些 JS。
if (CKEDITOR.currentInstance) {
CKEDITOR.currentInstance.config.stylesSet = "mystyles";
}
当我加载包含 CK 编辑器的页面时,样式下拉列表包含默认样式集,而不是我定义的自定义样式集。
有人知道如何实现吗?
如果我没记错的话,您需要在 config.js (CMSAdminControls/CKEditor/config.js) 下拉菜单中定义新的工具栏集。
类似于:
config.toolbar_Basic = [
['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'InsertLink', 'Unlink']
];
另一件事 - 您需要在 Webparts application > EditableText webpart> Properties > HTMLAreaToolbar > DataSource 中向此下拉列表添加新选项
这是您需要阅读的documentation。
下拉样式在CMS\CMSAdminControls\CKeditor\styles.js
中定义,如:
{ name: 'Italic Title', element: 'h2', styles: { 'font-style': 'italic' } },
您定义样式的名称(名称显示在下拉列表中),然后是应应用的元素和样式。
编辑文件后,确保清除浏览器缓存。
由于大多数 Kentico 管理界面页面都是嵌套的并且 iframe
',缓存非常激进,在清除缓存之前您的样式可能不会出现。
好吧,毕竟它只是 javascript,因此您可以简单地检查某些 if 语句或某些 switch-case 中的 url,然后应用您需要的样式。您需要一些代码示例吗?你应该能够在互联网上找到其中的许多:)
这是我解决问题的方法。我将以下内容添加到 styles.js:
CKEDITOR.stylesSet.add("my-styles", [
{ name: "Paragraph", element: "p" },
{ name: "Heading 1", element: "h1" }
]);
然后,在我网站需要使用 "my-styles" 样式集的区域的母版页中,我添加了:
<script>window.ckstyleset = "my-styles"</script>
最后,在 config.js 我补充说:
var styleset = window.ckstyleset ? window.ckstyleset : "default";
config.stylesSet = styleset;
使用这种方法,我能够根据使用的母版页自定义下拉列表中列出的样式。
我正在使用 Kentico 9,我希望能够在不同的页面上使用不同的 CK 编辑器样式集。我已将样式集添加到 styles.js 文件,如下所示。
CKEDITOR.stylesSet.add("mystyles", [{ name: "testone", element: "p" }]);
然后在页面中我根据 CK 编辑器网站添加了一些 JS。
if (CKEDITOR.currentInstance) {
CKEDITOR.currentInstance.config.stylesSet = "mystyles";
}
当我加载包含 CK 编辑器的页面时,样式下拉列表包含默认样式集,而不是我定义的自定义样式集。
有人知道如何实现吗?
如果我没记错的话,您需要在 config.js (CMSAdminControls/CKEditor/config.js) 下拉菜单中定义新的工具栏集。
类似于:
config.toolbar_Basic = [
['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'InsertLink', 'Unlink']
];
另一件事 - 您需要在 Webparts application > EditableText webpart> Properties > HTMLAreaToolbar > DataSource 中向此下拉列表添加新选项
这是您需要阅读的documentation。
下拉样式在CMS\CMSAdminControls\CKeditor\styles.js
中定义,如:
{ name: 'Italic Title', element: 'h2', styles: { 'font-style': 'italic' } },
您定义样式的名称(名称显示在下拉列表中),然后是应应用的元素和样式。
编辑文件后,确保清除浏览器缓存。
由于大多数 Kentico 管理界面页面都是嵌套的并且 iframe
',缓存非常激进,在清除缓存之前您的样式可能不会出现。
好吧,毕竟它只是 javascript,因此您可以简单地检查某些 if 语句或某些 switch-case 中的 url,然后应用您需要的样式。您需要一些代码示例吗?你应该能够在互联网上找到其中的许多:)
这是我解决问题的方法。我将以下内容添加到 styles.js:
CKEDITOR.stylesSet.add("my-styles", [
{ name: "Paragraph", element: "p" },
{ name: "Heading 1", element: "h1" }
]);
然后,在我网站需要使用 "my-styles" 样式集的区域的母版页中,我添加了:
<script>window.ckstyleset = "my-styles"</script>
最后,在 config.js 我补充说:
var styleset = window.ckstyleset ? window.ckstyleset : "default";
config.stylesSet = styleset;
使用这种方法,我能够根据使用的母版页自定义下拉列表中列出的样式。