2017-11-26 4 views
0

In meiner Webseite erlauben wir nur Benutzern H3 und H4 zu verwenden, aber es ist verwirrend, diese als "Titel 3" und "Titel 4" zu sehen. Ich wollte diese als "Titel" und "Untertitel" umbenennen, aber die Einstellung format_h3.name scheint das nicht zu beeinflussen.So benennen Sie vorhandene Stile in CKEditor um?

Ich kann nicht benutzerdefinierte JS schreiben, um den Editor zu konfigurieren, da ich ein Django-Plugin verwende, das ein Python-Wörterbuch tatsächlich in die endgültige JSON-Konfiguration konvertiert.

Der relevante Teil von dem, was ich versuchte, wie folgt:

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']}, 
     ] 
    } 
} 

Antwort

1

Leider gibt es keine Möglichkeit, Formate Namen in CKEditor über die Konfiguration zu ändern. Ich habe eine feature request dafür gefüllt.

Wenn Sie jedoch in der Lage sind, Editor-Dateien zu ändern, können Sie die Spracheinträge immer direkt in plugins/format/lang/<language>.js ändern.

Die zweite Problemumgehung ist format Plugin Quelle zu ändern, vor allem 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); 
    } 
} 
+0

Sad Entwickler ist traurig. Aber danke, und willkommen bei SO! – igorsantos07