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');
}
  1. Darunter einfügen (für Zikula 1.3.x):
if (ModUtil::available('MODULNAME')) {
    PageUtil::AddVar('javascript', 'modules/MODULNAME/javascript/MODULNAME_finder.js');
}
  1. Darunter einfügen (für Zikula 1.4.x):
if (ModUtil::available('MODULNAME')) {
    PageUtil::AddVar('javascript', 'modules/MODULNAME/Resources/public/js/MODULNAME_finder.js');
}
  1. 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

Monitoring von Queues mit dem Symfony Messenger
- Der Symfony Messenger kann über unterschiedliche Transporte mit diversen Queue-Technologien eingesetzt werden, zum Beispiel AMQP, Redis, Amazon SQS oder Doctrine. Um die Messages in den Queues …
MultiPart-Requests in Symfony einfach verarbeiten
- In Symfony gibt es mit der Mime-Komponente eine komfortable Möglichkeit, MultiPart-Nachrichten zu erstellen. Nicht out of the box enthalten ist aber ein Interface, das den Zugriff auf die in …
Kommende Neuerungen in Symfony 6.1
- Gegenwärtig laufen die Arbeiten an der nächsten Symfony-Version 6.1. Wie immer gibt es regelmäßige Einblicke in die wichtigsten, zu erwartenden Features und Verbesserungen. Dieser Beitrag zeigt im …
Zikula 3 - Cross-Release und weitere Ausrichtung
- Heute sind gleichzeitig zwei neue Versionen vom Zikula Core veröffentlicht worden. Zikula 3.0.4 bringt Fehlerkorrekturen Mit der Version 3.0.4 wird ein weiteres Bugfix-Update für die Hauptversion 3 …
Kommende Neuerungen in Symfony 5.4
- Vor einigen Tagen wurde Symfony 5.4.0-BETA3 veröffentlicht. Dies nehme ich zum Anlass, um einmal einen Überblick über die wichtigsten neuen Funktionen zu geben, auf die wir uns im Rahmen dieses …