it-swarm.com.de

Wie wird im Tinymce-Editor der Standardstil der Schriftfamilie in der Auswahlliste festgelegt?

Ich habe den TinyMCE Editor konfiguriert und unter der Auswahlliste für die Schriftfamilie kann ich beim Laden die Bezeichnung "Stile" als Standard sehen. Aber ich möchte jede Schriftfamilie als Standard sehen. Angenommen, Times new roman als Standard in der Auswahlliste.

3
Srinu

Sie können versuchen, execCommand , damit dies funktioniert.

Führt einen bestimmten Befehl im aktuell aktiven Editor aus.

Versuche dies.

editor.execCommand("fontName", false, "Arial");

Eine andere Möglichkeit ist die Verwendung von content_css Konfigurationsoption und benennen Sie eine eigene CSS-Datei, in der Sie die Standardeinstellungen des Editors überschreiben können (die content.css, nach der Sie kürzlich gesucht haben). Verwenden Sie in Ihrer Init-Funktion so etwas wie

content_css: "http://sitename/css/my_tiny_styles.css",

und in my_tiny_styles.css oder einer beliebigen Datei, die Sie verwenden

font-family: myfont1, myfont2, sans-serif;
1
niksmac

Im init_instance_callback von http://www.tinymce.com/wiki.php/Configuration3x:init_instance_callback heißt es:

function myCustomInitInstance(inst) {
        alert("Editor: " + inst.editorId + " is now initialized.");
}

tinyMCE.init({
        ...
        init_instance_callback : "myCustomInitInstance"
});

wenn Sie jedoch versuchen, mit diesen Funktionen Drupal nur Javascript in die Warteschlange zu stellen, können Sie nicht auf tinyMCE zugreifen, da die tinyMCEs noch nicht initialisiert sind.

Originalcode Ich habe herausgefunden, wie ich hier verweisen soll, aber ich habe ihn erweitert.

http://www.group42.ca/adding_and_controlling_tinymce_fonts_in_drupal

Sie müssen Ihre eigene Funktion erstellen und auf hook_wysiwyg_editor_settings_alter tippen.

 /**
     * Implements hook_wysiwyg_editor_settings_alter().
     * adding custom font in there and setting default size
     */
    function mymodule_wysiwyg_editor_settings_alter(&$settings, $context) {
      if ($context['profile']->editor == 'tinymce') {
        // you can change your font styles there
        $font_styles = array(
          "Calibri=calibri",
          "Comic Sans MS=comic sans ms,sans-serif",
          "Tahoma=tahoma,arial,helvetica,sans-serif",
          "Times New Roman=times new roman,times",
        );

        $settings['theme_advanced_fonts'] = implode(';', $font_styles);
        $settings['theme_advanced_font_sizes'] = "8pt,9pt,10pt,11pt,12pt";

        // this function LangTinyMCEInitialized should be defined in your enqueued javascript file
        $settings['init_instance_callback'] = 'LangTinyMCEInitialized';
      }
    }

Sie benötigen außerdem eine Javascript-Datei mit dem Rückruf init_instance_callback , der beim Laden der Seite in die Warteschlange gestellt wird. Die beiden execCommand-Aufrufe richten die Schriftart bzw. die Größe ein.

//initialize default options in instance callback 
function LangTinyMCEInitialized(ed) {  
  console.log("Editor: " + ed.editorId + " is now initialized.");
  try{
    ed.execCommand("fontName", false, "Calibri");    
    ed.execCommand("fontSize", false, "11pt");    
  }
  catch(err){      
  }
}
0
Richard Dinh