如何在CKEditor中重命名现有样式?

时间:2017-11-26 23:54:51

标签: ckeditor django-ckeditor

在我的网页中,我们只允许用户使用H3H4,但将这些视为“标题3”和“标题4”令人困惑。我想将它们重命名为“标题”和“字幕”,但设置format_h3.name似乎不会影响它。

我无法编写自定义JS来配置编辑器,因为我正在使用Django插件,它实际上将python字典转换为最终使用的JSON配置。

我尝试的相关部分如下:

CKEDITOR_CONFIGS = {
    'default': {
        'allowedContent': 'h3 h4 p b i u a[*]',
        'format_p': {'name': 'Standard text', 'element': 'p'},
        'format_h3': {'name': 'Title', 'element': 'h3'},
        'format_h4': {'name': 'Subtitle', 'element': 'h4'},
        'toolbar': [
            {'name': 'styles', 'items': ['Format']},
            {'name': 'basicstyles', 'items': ['Bold', 'Italic', 'Underline', '-', 'RemoveFormat']},
            {'name': 'links', 'items': ['Link', 'Unlink']},
        ]
    }
}

1 个答案:

答案 0 :(得分:1)

遗憾的是,无法通过配置更改CKEditor中的格式名称。我为此填了feature request

但是,如果您能够修改编辑器的文件,则可以随时直接更改语言条目,位于plugins/format/lang/<language>.js

第二种解决方法是修改format插件来源,尤其是init function

init: function() {
    this.startGroup( lang.panelTitle );

    for ( var tag in styles ) {
        var label = config[ 'format_' + tag ] && config[ 'format_' + tag ].name || lang[ 'tag_' + tag ];

        // Add the tag entry to the panel list.
        this.add( tag, styles[ tag ].buildPreview( label ), label );
    }
}