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/ (Plugins sind nur für diesen Mandanten verfügbar)
- site/_global/plugins/tiny_mce/ (Plugins sind für alle Mandanten verfügbar)
Jedes Plugin hat ein eigenes Verzeichnis, z.B. myPlugin. Damit das CMS das Plugin einbinden kann, müssen die Dateien editor_plugin_src.js und editor_plugin.js in diesem Verzeichnis existieren. Der Grundaufbau der editor_plugin_src.js Datei sollte folgendem Schema entsprechen:
(function() {
// Sprachpaket laden
tinymce.PluginManager.requireLangPack('myPlugin');
// Plugin definieren
tinymce.create('tinymce.plugins.myPlugin', {
init : function (ed, url) {
// Kommando definieren
ed.addCommand('myPluginCommand', function() {
// ...
});
// Button definieren
ed.addButton('myPlugin', {
title : 'myPlugin.desc',
cmd : 'myPluginCommand',
image : url + '/img/icon.gif'
});
},
getInfo : function() {
return {
longname : 'MyPlugin',
author : 'EGOTEC GmbH',
authorurl : 'http://www.egotec.com',
infourl : 'http://help.egotec.com',
version : '1.0'
};
}
});
// Plugin registrieren
tinymce.PluginManager.add('myPlugin', tinymce.plugins.myPlugin);
})();
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', {
desc : 'myPlugin'
});
de.myPlugin muss für die entsprechende Sprache angepasst werden.
Um TinyMCE Plugins im CMS zuzulassen, muss außerdem eine .htaccess Datei im Verzeichnis plugins/tiny_mce/ angelegt werden.
<Files *>
Allow from all
</Files>
Ab der Version 13 wird der Editor komprimiert eingebunden. Demnach ist es wichtig, dass Ihr Plugin die komprimierte Version der Datei editor_plugin_src.js enthält. Diese komprimierte Datei muss editor_plugin.js heißen. Sie können hier im Zweifel auch den original Code einfügen. Andernfalls können Sie den Code kostenlos mit folgendem Tool online komprimieren: Online YUI Compressor
Die grundlegende Plugin Struktur im CMS sieht demnach wie folgt aus:
<strong>plugins</strong>
-- <strong>tiny_mce</strong>
-- <em>.htaccess</em>
---- <span><strong>myPlugin</strong>
------
editor_plugin_src.js
------ editor_plugin.js
------
langs
-------- de.js
-------- en.js
Nun kann das Plugin verwendet werden. Das Plugin wird automatisch in den WYSIWYG Editor geladen. Sollte das Plugin einen oder mehrere Buttons für die Toolbar haben, so muss nur noch die Editor Toolbar XML angepasst, bzw. erstellt werden.
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.
Über das Javascript Objekt tinymce.settings.egotec kann jederzeit im tinyMCE Plugin auf systemeigene Funktionen und Informationen zugegriffen werden.
- tinymce.settings.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.