CKEditor.net表类

时间:2012-03-12 22:16:25

标签: asp.net plugins ckeditor

在asp.net C#webapp中,我使用的是CKEditor 3.6.2,我遇到了以下问题:

在我的样式表中,我有一个在表中使用的CSS类,我正在尝试将此类填入“表格属性”,“高级”选项卡和“样式表类”字段中。

我想把这个字段填充字符串“blue_table”,这是我的CSS类的名称。我正在使用“table”插件的源代码。我已经想出如何更改宽度和高度等字段的值,但我想要的是“样式表类”字段。

您是否知道为此字段设置默认值?

2 个答案:

答案 0 :(得分:2)

您无需编辑ckeditor.js文件即可自定义编辑器。您可以将以下内容添加到config.js并在网站范围内或在您使用CKEditor的任何页面上使用它(在您使用的编辑器字段之后,在script标记内,如下所示)。 / p>

<script type="text/javascript">
    CKEDITOR.on( 'dialogDefinition', function( ev ) {

        // Take the dialog name and its definition from the event data.
        var dialogName = ev.data.name;
        var dialogDefinition = ev.data.definition;

        // Check if the definition is from the dialog we're
        // interested on (the Table dialog).
        if ( dialogName == 'table' ) {

            // Set the tab
            var advTab = dialogDefinition.getContents( 'advanced'); 

            // Grab the field
            var stylesField = advTab.get('advCSSClasses');

            // Set the default value
            stylesField['default'] = 'blue_table';
        }
    });
</script>

这是从CKEditor documentation修改的。最难的部分是计算对话框中使用的所有字段的ID和名称。

答案 1 :(得分:0)

最后我找到了答案。此属性位于dialogadvtab中的属性“advCSSClasses”中。问题是这个插件位于核心js中,我的意思是ckeditor.js。

我必须这样做:

children :
[
    {
        id : 'advCSSClasses',
        att : 'class',
        type : 'text',
        label : lang.cssClasses,
        'default' : 'blue_table',
        setup : setupAdvParams,
        commit : commitAdvParams
    }
]

“问题”现在是我必须在ckeditor.js中进行,这不是一个好习惯。问题已经解决了,但不是最好的方式。