Generierte Anwendungen in Scribite integrieren

in  Zikula Apps , , ,

Generierte Anwendungen in Scribite integrieren

Bei mit ModuleStudio generierten Modulen werden unter anderem auch Plugins für unterschiedliche WYSIWYG-Editoren erzeugt, die im Modul Scribite integriert sind. Wie diese Plugins eingerichtet werden und was sie können, zeigt dieser Beitrag.

Das Zikula-Modul Scribite bringt eine Reihe von Editoren mit, die flexibel konfiguriert und in anderen Modulen verwendet werden können. So könnte man etwa Summernote als Standardeditor nutzen, in einem bestimmten Modul jedoch TinyMCE, während in einem anderen Modul oder einer bestimmten Modulfunktion QuillJS zum Einsatz kommt.

Die meisten der Editoren lassen sich durch Plugins erweitern, was insbesondere dann praktisch ist, wenn man einen zusätzlichen Knopf für eine bestimmte Funktion haben möchte. Damit man das Rad nicht jedes mal neu erfinden muss, werden bei ModuleStudio-basierten grundlegende Plugins direkt generiert (derzeit nur für CKEditor, TinyMCE und Xinha).

Einrichtung der Plugins

Jedes generierte Modul bringt eine Funktion zum Auswählen von Objekten mit, den sogenannten Finder. Dieser wird von den Editor-Plugins als Popup aufgerufen. Wie diese nun in Scribite integriert werden, hängt von der Scribite-Version ab.

Für Scribite

  1. Die Datei modules/Scribite/lib/Scribite/Api/User.php mit einem Texteditor bearbeiten.
  2. Suchen nach:

    if (ModUtil::available('SimpleMedia')) {
    PageUtil::AddVar('javascript', 'modules/SimpleMedia/javascript/findItem.js');
    }
  3. Darunter einfügen (für Zikula 1.3.x):

    if (ModUtil::available('MODULNAME')) {
    PageUtil::AddVar('javascript', 'modules/MODULNAME/javascript/MODULNAME_finder.js');
    }
  4. Darunter einfügen (für Zikula 1.4.x):

    if (ModUtil::available('MODULNAME')) {
    PageUtil::AddVar('javascript', 'modules/MODULNAME/Resources/public/js/MODULNAME_finder.js');
    }
  5. Alle Dateien von modules/MODULNAME/docs/scribite/includes/ (Zikula 1.3.x) beziehungsweise modules/MODULNAME/Resources/docs/scribite/plugins/ (Zikula 1.4.x) in den Ordner modules/Scribite/includes/ (Zikula 1.3.x) beziehungsweise modules/Scribite/plugins/ (Zikula 1.4.x) kopieren.

Für Scribite 5.0 aufwärts geschieht die Integration automatisch. Das notwendige JavaScript wird hier nun über das Event-System von Zikula beziehungsweise Symfony geladen und die Plugins sind bereits im Scribite-Paket enthalten. Hier muss lediglich geprüft werden, ob die Plugins für MODULNAME im Ordner Scribite/plugins/EDITOR/vendor/plugins vorhanden sind. Falls nicht, müssen sie händisch kopiert werden (Pfade wie oben).

Wenn alles richtig gemacht wurde, erscheinen die Plugins auf den Konfigurationsseiten der jeweiligen Editoren und können dort per Checkbox aktiviert werden.

Nutzung und Funktionsumfang

Im Editor sollte nun ein neuer Knopf mit einem gelben Sternchen als Symbol auftauchen. Dieser öffnet das besagte Popup, welches auch im folgenden Screenshot abgebildet ist. Hier kann man zwischen den Objekttypen im Modul wechseln, die Objekte nach unterschiedlichen Kriterien suchen und filtern, um schließlich Links zu den Detailseiten per Mausklick in den Editor einzufügen.

Generierte Anwendungen in Scribite integrieren

Weitere Beiträge in Kategorie Zikula Apps

Zikula Benutzer und Gruppen in DokuWiki verwenden
- In Zikula lassen sich mit Hilfe unterschiedlicher Authentifizierungsmethoden Nutzer auf verschiedenen Quellen einbinden und mischen. So kann man sich beispielsweise mit dem OAuth-Modul via Facebook, …
Ein Blick auf die Entwicklungen des News-Moduls
- Das News-Modul von Zikula blickt auf eine lange Historie zurück. Schon als ich vor etwa 20 Jahren das erste mal mit PostNuke in Berührung kam, war dort ein News-Modul an Bord. War die Funktionalität …
Zikula Aktualisierung 2.0.13 mit Sicherheitspatches von Symfony
- Der Zikula Core ist soeben in der Version 2.0.13 erschienen, da eine Reihe von sicherheitsbezogenen Änderungen in Symfony eingeflossen sind. Hier der Link zu den einzelnen Änderungen: Changelog für …
Unterschiedliche Startseiten je Domain oder Einstellung einbinden
- Eine häufige Anforderung besteht darin, die Startseite eines Projektes individuell anzupassen. Zikula bietet zwar die Möglichkeit, eine Controller-Aktion sowie die zu übergebenden Argumente in der …
Spannende Neuerungen im Zikula Core
- In Zikula 3 werden endlich weitere hilfreiche Funktionen von Symfony verwendet. Zikula 2.x hat bereits auf Symfony 3.4.x aufgesetzt, aber aus Rücksicht auf die Abwärtskompatibilität noch nicht alle …