Tinymce (SPT-Tag)

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen

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 eines 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 und kann im Rahmen des CMS "so wie er ist" genutzt werden. TinyMCE 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-Editor wird im Normalfall mit einer Konfiguration des IES gestartet. Diese Konfiguration kann geändert oder ergänzt werden. Es gibt Parameter wie z.B. plugins die einzelne, durch Kommata getrennte Werte 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" zum Standardwert des plugins-Parameters hinzugefügt ohne den Parameter komplett zu ersetzten.

Um die Konfiguration anzupassen gibt es drei Möglichkeiten.

Standard Konfiguration pro Mandant ersetzen

Es ist möglich die Standard-Konfiguration für den TinyMCE pro Mandant durch eine eigene Konfiguration zu ersetzen. Hier zu muß ein Template mit dem Anchor

 tag.spt.tinymce.config

angelegt werden, in dem die Konfiguration hinterlegt ist. Existiert ein Template mit dem angegegenen Anchor wird automatisch diese Konfiguration verwendet ohne das im spt:tinymce-Tag noch Änderungen vorgenommen werden müssten.

Zu Beachten ist das ein überschreiben der globalen TinyMCE-Konfiguration (innerhalb des Mandanten) alle voreingestellten Setzungen wie die Einbindung eines angepassten CSS, die Auflistung aller zu verwendenden HTML-Elemente, etc. nicht mehr verwendet werden

Konfiguration in separaten Templates

Mit dem Attribut configextension kann ein Anchor eines Templates angegeben werden, das Konfigurationsparameter enthält. Diese Parameter werden mit JSON ohne umschließende geschweifte Klammern {} angegeben.

param1 : "a",
param2 : false

Es gilt zu beachten, dass hinter dem letzten Parameter kein Komma stehen darf.

Konfiguration in Tag-Attribut

Mit dem Attribut configvalues können Konfigurationsparameter direkt angegeben werden. Diese Parameter werden mit JSON ohne umschließende geschweifte Klammern {} angegeben.

<sp:set name="_tinyconfig">
param1 : "a",
param2 : false
</sp:set>
<spt:tinymce ... configvalues="${_tinyconfig}" ... />

Eigene Plugins (ab Version 2.0.3)

Um TinyMCE mit eigenen Plugins zu erweitert, müssen die Plugins in dem plugins-Verzeichnis des TinyMCE-Editors abgelegt werden. Da im IES der TinyMCE aber ein Modul ist, können die Plugins nicht direkt in das Verzeichnis des Editors kopiert werden. Nach einem Update des Moduls währen die zusätzlichen Plugins nicht mehr vorhanden. Um ein TinyMCE-Plugin zu installieren, muss 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-Moduls (ü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, dass z.B. interne Links, die über den 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 advanced 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 durch fixvalue 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:
default (ab Version 2.0.3 deprecated, entspricht advanced)
simple
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 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>