Plugins definieren

Der im CMS verwendete WYSIWYG Editor ist der TinyMCE Editor. Es besteht die Möglichkeit eigene Editor Plugins zu verwenden. Diese Plugins müssen in folgende Verzeichnisse hinterlegt werden:

  • site/MANDANT/plugins/tiny_mce/
  • site/_global/plugins/tiny_mce/

Jedes Plugin hat ein eigenes Verzeichnis, z.B. egotecExample. Damit das CMS das Plugin einbinden kann, muss die Datei plugin.js in diesem Verzeichnis existieren. Der Grundaufbau der plugin.js Datei sollte folgendem Schema entsprechen:

tinymce.PluginManager.requireLangPack('egotecExample', 'de,en'); tinymce.PluginManager.add('egotecExample', function(ed, url) { // ... });

Wenn das Plugin eigene Sprachpakete verwenden soll, so müssen zwingend die Sprachdateien de.js und en.js existieren. Diese Sprachdateien liegen im Unterverzeichnis langs und sehen wie folgt aus:

tinyMCE.addI18n('de.myPlugin', { "example" : "Beispiel" });

Die grundlegende Plugin Struktur im CMS sieht demnach wie folgt aus:

  • egotecExample (Ordner)
    • langs (Ordner)
      • de.js
      • en.js
    • plugin.js
      • plugin.min.js (komprimierte Javascrpt-Datei. Muss manuell erstellt werden!)

Nun kann das Plugin verwendet werden. Das Plugin wird automatisch in den WYSIWYG Editor geladen.

warning

Bei der Entwicklung von eigenen TinyMCE Plugins gibt es keine EGOTEC Richtlinien oder Tutorials. Bitte entnehmen Sie Hilfe zur Entwicklung eigener Plugins der TinyMCE Dokumentation.

wb_incandescent

Über das Javascript Objekt tinymce.settings.egotec kann jederzeit im tinyMCE Plugin auf systemeigene Funktionen und Informationen zugegriffen werden.

  • ed.options.get('egotec')
    • Eigenschaften
      • dir: der Pfad zum ECM.
      • site: der Name des Mandanten der aktuellen Seite.
      • media: der Name des Multimedia Mandanten der aktuellen Seite.
      • lang: die Sprache der aktuellen Seite.
      • id: die ID der aktuellen Seite.
      • workflowCopy: die aktuelle Seite ist eine Workflowkopie.
      • releaseCopy: die aktuelle Seite ist eine Freigabekopie.
    • Funktionen
      • getField(String key): liefert einen Feldwert.
      • setField(String key, Mixed value): setzt einen Feldwert.
      • removeField(String key): löscht einen Feldwert.
      • getExtra(String key): liefert einen Extrawert.
      • setExtra(String key, Mixed value): setzt einen Extrawert.
      • removeExtra(String key): löscht einen Extrawert.
      • save(): speichert die Seite.