Tinymce (SPT-Tag)
Name
<spt:tinymce> - Integriert einen Editor
Syntax
<spt:tinymce name="variable" theme="simple"/>
Beschreibung
Mit dem tinymce-Tag wird ein externer WYSIWYG-Editor ins CMS eingebunden. "What You See Is What You Get" steht für eine Übernahme des geschriebenen Textes auf der Website, so wie ihn der Redakteur bei der Eingabe sieht. Auf diese Weise kann der Redakteur z.B. Tabellen oder Formatierungen in seine Artikel einbinden ohne über HTML-Kenntnisse zu verfügen. Die Ausgabe hängt aber nicht nur vom Editor, sondern auch von den Einstellungen des Browsers und den installierten Systemschriften ab.
Der Editor tinymce ist ein Open-Source Produkt der Firma Moxiecode. Der Editor kann im Rahmen des CMS "so wie er ist" genutzt werden. Der Editor ist kein Produkt der Sitepark GmbH und wird daher nicht von unserem Support betreut. Fehler-Meldungen und Erweiterungswünsche werden von Sitepark an den Hersteller weitergeleitet.
Konfiguration erweitern (ab Version 2.0.3)
Der tinymce wird im Standardfall mit einer Konfiguration des IES gestartet. Diese Konfiguration kann geändert oder ergänzt werden. Es gibt Parameter wie z.B. plugins
die einzelnen Werte mit Kommata getrennt enthalten. Um für diese Parameter einen Wert hinzuzufügen kann der Prefix
addto_
verwendet werden. Beispielsweise wird mit dem Parameter
addto_plugins : "myplugin"
nur der Wert "myplugin" zu den Standardwert des plugins
-Parameter hinzugefügt ohne den Parameter komplett zu ersetzten.
Um die Konfiguration anzupassen gibt es zwei Möglichkeiten.
- Konfiguration in separatem Templates
- Mit dem Attribute
configextension
kann ein Anchor eines Templates angegeben werden, das Konfigurationsparameter enthält. Diese Parameter werden mit JSON ohne umgebene geschweifte Klammern {} angegeben werden.
param1 : "a",
param2 : false
Es muß beachtet werden, das hinter dem letzten Parameter kein Komma stehen darf.
- Konfiguration in Tag-Attribut
- Mit dem Attribut
configvalues
können Konfigurationsparameter direkt angegeben werden. werden mit JSON ohne umgebene geschweifte Klammern {} angegeben werden.
<sp:set name="_tinyconfig">
param1 : "a",
param2 : false
</sp:set>
<spt:tinymce ... configvalues="${_tinyconfig}" ... />
Eigene Plugins (ab Version 2.0.3)
Um eigene tinymce mit eigenen Plugins zu erweitert, müssen die Plugins in dem plugins
-Verzeichnis des tinymce abgelegt werden. Da im IES der tinymce aber ein Modul können die Plugins nicht direkt in das tinymce-Verzeichnis kopiert werden. Nach einem Update des Modules währen die zusätzlichen Plugins nicht mehr vorhanden.
Um ein tinymce-Plugin zu installieren muß das Plugin in das Verzeichnis
${system.server.settings.dataDir}/modules/tinymce/plugins/
kopiert werden (existiert das Verzeichnis noch nicht, kann es angeleget werden). Bei einer Standardinstallation ist das der Pfad /srv/sitepark/data/modules/tinymce/plugins/
. Nach einem Neustart des tinymce-Modules (über die IES-Admin Oberfläche) steht das Plugin zur Verfügung.
Informationen zum erstellen eigener Plugins stehen unter TinyMCE:Create_plugin zur Verfügung.
Mit dem spt:tinymce
erzeugte Texte ausgeben (ab Version 2.0.3)
Durch tinymce-Plugins des IES ist eine Nachbearbeitung des erzeugten Textes notwendig. Der Text sollte vor der Ausgabe den Tag spt:prehtml durchlaufen. Nur so ist sichergestellt das z.B. interne Links, die über den tinymce-Editor eingetragen wurden auch richtig ausgegeben werden.
Beispiel
<sp:io type="in">
<spt:tinymce name="sp_body"/>
</sp:io>
<sp:io type="out">
<spt:prehtml name="processed_body" object="sp_body"/><sp:print name="processed_body"/>
</sp:io>
Attribute
Name | Type | Required | Default | ab IES Version |
---|---|---|---|---|
name
|
Variable | Ja | None | 1 |
value
|
Text | Nein | None | 1 |
fixvalue
|
Text | Nein | None | 1 |
type
|
Content-Type | Nein | text | 1 |
disabled
|
Condition | Nein | None | 1 |
readonly
|
Condition | Nein | None | 1 |
rows
|
Number | Nein | 15 | 1 |
cols
|
Number | Nein | 80 | 1 |
theme
|
Text | Nein | default | 1 |
pools (experimentell)
|
Anchor-List oder ID-List | Nein | aktueller Informationspool | 1 |
buttons
|
Text | Nein | default | 1 |
configextension
|
Anchor | Nein | 2.0.3 | |
configvalues
|
Text | Nein | 2.0.3 | |
Dynamische Attribute | Text | Nein | None | 1 |
name
- Bestimmt den Namen des Feldes.
value
- Setzt einen Default-Wert für die mit
name
angegebenen Variable, wenn sie leer ist.
fixvalue
- Überschreibt jeden vorhandenen Inhalt der mit
name
bestimmten Variablen mit dem durchfixvalue
angegebenen Wert.
locale
- Dieses Attribut bestimmt die Mehrsprachigkeit der Variablen.
type
- Der Typ des Eingabefeldes.
disabled
- HTML-Attribut (true, false).
readonly
- HTML-Attribut (true, false).
rows
- Höhe des Eingabefeldes in Zeilen.
cols
- Breite des Eingabefeldes in Spalten.
theme
- Konfigurationstypen, die den Funktionsumfang für den Editor beschreiben. Mögliche Themes sind:
- simple
- default
- advanced
buttons
- Konfigurationseinstellung, die den Funktionsumfang für den Editor beschreibt. Mögliche Werte sind:
- minimum
pools
- Kommaseparierte Liste von Anchors von Artikelpools oder von IDs von Artikelpools; die Elemente der Pools werden dem Redakteur in einem Linkdialog innerhalb des Editors zur Auswahl angeboten. Diese Funktion ist derzeit noch im Versuchsstadium und wird daher nicht offiziell unterstützt.
configextension
- Mit diesem Attribut kann ein Anchor eines Templates angegeben werden, das TinyMCE Konfigurationen enthält. Die in diesem Template angegebenen Konfigurationsparameter ergänzen und überschreiben die Parameter der IES-Standardkonfiguration. Die Angaben werden in JSON angegeben, wobei die umschließenden geschweiften Klammern {} nicht mit angegeben werden dürfen. Die möglichen Konfigurationsparameter sind unter TinyMCE:Configuration aufgelistet.
configvalues
- Mit diesem Attribut kann können TinyMCE Konfigurationen angegeben werden. Die Konfigurationsparameter ergänzen und überschreiben die Parameter der IES-Standardkonfiguration. Die Angaben werden in JSON angegeben, wobei die umschließenden geschweiften Klammern {} nicht mit angegeben werden dürfen. Die möglichen Konfigurationsparameter sind unter TinyMCE:Configuration aufgelistet.
- Dynamische Attribute
- Dynamische Attribute sind beliebige HTML-Attribute, die evaluiert und bis zum HTML-Tag durchgereicht werden.
Beispiele
WYSIWYG-Editor nutzen und Inhalt ausgeben
Template Quelltext
<sp:io type="in">
<spt:tinymce name="sp_body"/>
</sp:io>
<sp:io type="out">
<spt:prehtml name="processed_body" object="sp_body"/><sp:print name="processed_body"/>
</sp:io>