0

我尝试在 Oracle 框架“Endeca v 11.1.0”中配置 CKEDITOR,但出现了问题。我只能像这样配置工具栏:

[
{ name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ], items: [ 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-', 'RemoveFormat' ] },
'/',
{ name: 'styles', items: [ 'Styles', 'Format', 'Font', 'FontSize' ] },
{ name: 'colors', items: [ 'TextColor', 'BGColor' ] },
{ name: 'tools', items: [ 'Maximize', 'ShowBlocks' ] },
{ name: 'others', items: [ '-' ] },
{ name: 'about', items: [ 'About' ] }
];

而且我无法像我想要的那样配置样式。默认情况下,我有 ckeditor 的 sur 样式,这是正常的。我还没有设置好配置好的style.js。

我想配置特定的样式,我已经阅读了这样的一些文档:http ://docs.ckeditor.com/#!/guide/dev_styles 但我该如何在我的配置中做到这一点:

CKEDITOR.stylesSet.add( 'my_styles', [
// Block-level styles
{ name: 'Blue Title', element: 'h2', styles: { 'color': 'Blue' } },
{ name: 'Red Title' , element: 'h3', styles: { 'color': 'Red' } },
// Inline styles
{ name: 'CSS Style', element: 'span', attributes: { 'class': 'my_style' } },
{ name: 'Marker: Yellow', element: 'span', styles: { 'background-color': 'Yellow' } }
]);

如何仅在工具栏配置中设置特定样式?谢谢帮助

4

3 回答 3

0

在 11.1 中,CK Editor 的配置文件位置已更改。它被移动到 .jar 中。检查 ToolsAndFrameworks\11.1.0\server\workspace\state\sling_ifcr-11.1.0\startup\25\richTextEditor-11.1.0.jar 文件中的 build-config.js

于 2015-01-02T07:50:00.877 回答
0

谢谢你的回答。

我的行动:

  • 在“/ToolsAndFrameworks/11.1.0/server/webapps/ifcr-11.1.0.war”中提取war文件“ifcr-11.1.0.war”
  • 在“icfr-11.1.0/WEB-INF/resources/bundles/25”中提取“richTextEditor-11.1.0.jar”
  • 针对我的特定风格对文件“richTextEditor-11.1.0/content/ckeditor_4.3.3_full/ckeditor/style.js”进行修改。

我打开了 build-config.js 但我看不到样式配置。

  • 我已经重建包 richTextEditor-11.1.0.jar 和 ifcr-11.1.0.war 并重新启动 tomcat,但在 ToolsAndFrameworks\11.1.0\server\workspace\state\sling_ifcr-11.1.0\startup\ 上看不到修改25\richTextEditor-11.1.0.jar。

  • 我已尝试删除 ToolsAndFrameworks\11.1.0\server\workspace\state\sling_ifcr-11.1.0\startup* 上的所有文件和文件夹,并重新启动 tomcat 以部署工件和其他但我的文件夹“ToolsAndFrameworks\11.1.0\server\ workspace\state\sling_ifcr-11.1.0\startup\" 为空。

  • 一个疯狂的事情是我的 webapp 在没有这个文件夹和文件的情况下成功运行。

  • 有缓存还是其他?
于 2015-01-05T08:59:01.803 回答
0

我将提供您可能觉得没有帮助的建议:) 与其创建一个在 Experience Manager 中使用的自定义编辑器(然后必须在升级期间维护它等),不如给他们一个编辑器 UI与 XM 完全分离。然后,当他们拥有漂亮的 HTML 时,可以将其复制并粘贴到 XM 中。

另一个想法:与其直接创建 Flex 编辑器(就像您正在做的那样),不如创建一个轻量级的 Flex 编辑器,它会启动一个弹出窗口(这将是一个直接托管在 XM 之外的 web 应用程序)。然后让该弹出窗口以文本形式返回一个 HMTL 块。这将允许您创建一个精美的编辑器,但不受 Flex 的限制。

我无法为我的第二个推荐分享完整的代码示例,但在 Flex 中,您可以通过以下方式打开一个弹出窗口:

 ExternalInterface.call("window.open",
       popupUrl, "Select Value",
       "menubar=1,resizeable=1,width=1000,height=800,location=yes,menubar=yes,scrollbars=1,toolbar=1");

...其中 popupUrl 将是您的外部网络应用程序的 URL。

然后,在 webapp 中,当你想传回一个值时,你可以这样做:

windowOpener = window.opener.document.xmgrSwfElement;
windowOpener.selectValue(path);
window.close();
于 2015-01-12T15:36:15.700 回答