Unser WYSIWYG-Admin erlaubt es, zusätzliche Einstellungen für den gewählten WYSIWYG-Editor vorzunehmen. Dazu gehören z.B. auch optionale Plugins.
Mittlerweile erfordern solche Editor-Plugins aber manchmal mehr, als nur aktiviert zu werden. Für einige Plugins waren schon bisher zusätzliche Einstellmöglichkeiten hinterlegt, etwa für CodeMirror (Auswahl des Themes).
Um diese Einstellungen künftig nicht mehr hartcodiert in der Datei c_editor.php (im Modulverzeichnis des Editors, also z.B. in ./modules/ckeditor4) vorhalten zu müssen und somit leichter erweiterbar zu machen, ist eine Überarbeitung der Editor-Addons notwendig. Gleichzeitig überarbeite ich auch den WYSIWYG-Admin.
Da ein Bild ja bekanntlich mehr sagt als 1000 Worte, hier mal ein Screenshot:
- Der bisherige Text neben den Einstellmöglichkeiten wandert in einen Tooltip, im Bild gelb zu sehen.
- Die Einstellungen, die zu aktivierten Plugins gehören, werden mit Hilfe einer Überschrift gruppiert.
- Optionen, die zu bestimmten Plugins gehören, erscheinen sofort, wenn das Plugin angehakt wird, und verschwinden, wenn es wieder deaktiviert wird; bisher mußte hierfür die Seite neu geladen werden.
Die Einstellungen, die ein Plugin erlaubt, können in einer Datei info.php hinterlegt werden. Diese Datei liegt im Unterverzeichnis des Plugins. Hier ein Beispiel für codemirror:
Code: Alles auswählen
// additional requirements for this plugin
$plugin_config = array(
'opt' => array(
array( 'name' => 'codemirror', 'label' => 'CodeMirror Plugin', 'type' => 'legend' ),
array(
'name' => 'codemirror_theme',
'label' => 'Codemirror Theme',
'help' => 'Select a theme from the dropdown. You can preview the themes at <a href="http://codemirror.net/demo/theme.html" target="_blank">http://codemirror.net/demo/theme.html</a>',
'type' => 'select',
'default' => 'default',
'options' => array('default', '3024-day', '3024-night', 'ambiance-mobile', 'ambiance', 'base16-dark', 'base16-light', 'blackboard', 'cobalt', 'eclipse', 'elegant', 'erlang-dark', 'lesser-dark', 'mbo', 'mdn-like', 'midnight', 'monokai', 'neat', 'neo', 'night', 'paraiso-dark', 'paraiso-light', 'pastel-on-dark', 'rubyblue', 'solarized', 'the-matrix', 'tomorrow-night-eighties', 'twilight', 'vibrant-ink', 'xq-dark', 'xq-light',)
)
),
);
Code: Alles auswählen
<CAT_PATH>/modules/ckeditor4/ckeditor/plugins
|_ codemirror
info.php
|_ languages
|_ DE.php