So definieren Sie automatische Filter für ein WYSIWYG-Textfeld

Nutzbar ab: Version

Dieser Artikel beschreibt, wie Sie Filter für ein WYSIWYG-Feld setzen, die beim Speichern automatisch auf das Textfeld angewandt werden.

Projektkonfiguration - Texte
Projektkonfiguration - Texte

Aktuelle BASE 2.x Versionen sind standardmäßig so umgesetzt, daß sich das Text-Element (Fliesstext) die Einstellungen aus der Projektkonfiguration zieht (siehe nebenstehender Screen).  Unerwünschte Inhalte beim Aktualisieren der Seite (z.B. Speichern bzw. Zwischenspeichern) werden über die Filter "Filter, der beim Aktualisieren ausgeführt wird" und "Filter, der beim Einfügen ausgeführt wird" gemäß dem eingestellten Wert gefiltert. Die Filter werden in der Reihenfolge angewandt, wie diese im autoFilter-Attribut hinterlegt wurden.

Die Einstellung in der Projektkonfiguration zu "Filter, der beim Aktualisieren ausgeführt wird" befüllt den Wert des Text-Pflegetag-Attributes autoFilter="". Diese Werte entscheiden, welche Filter beim Aktualisieren der Seite ausgeführt werden. Mehrere Filter lassen sich kommagetrennt angeben. Welche Filter Sie einsetzen können und was diese bedeuten, wird über die weiterführenden Links im Artikel "Definition und Bedeutung der WYSIWYG-Textfilter" beschrieben.

Im Weblic® "Fliesstext" sieht die Definition standardmäßig in aktuellen BASE 2.x Versionen (bzw. aktuelles Fliesstext-Weblic® der Version 2.x) wie folgt aus:

Auszug aus einem Text-Element für die Bearbeitung (z.B. text.wysiwyg.wItem.php)

...
<xsl:variable name="openClipboardDialogOnPaste"><xsl:choose><xsl:when test="php:functionString('wVariables::getValue', 'open_clipboard_dialog_on_paste', '/[IHR-LAYOUT-PROJEKT]') = 'yes'">1</xsl:when><xsl:otherwise>0</xsl:otherwise></xsl:choose></xsl:variable>
<!--web:text:start openClipboardDialogOnPaste="<xsl:value-of select="$openClipboardDialogOnPaste" />" pasteFilter="<xsl:value-of select="php:functionString('wVariables::getValue', 'wysiwyg_pastefilter', '/[IHR-LAYOUT-PROJEKT]')"/>" autoFilter="<xsl:value-of select="php:functionString('wVariables::getValue', 'wysiwyg_autofilter', '/[IHR-LAYOUT-PROJEKT]')"/>" wysiwygFunctions="<xsl:value-of select="wd:fragment[@id = 'wysiwygFunctions']/text()"/>" editor="wysiwyg" inputStyle="" outerStyle=""--><xsl:value-of disable-output-escaping="yes" select="wd:fragment[@id = 'text']"/><!--web:text:stop-->
...

Die Auflistung und Bedeutung aller Filter finden Sie über die weiterführenden Links unten.

Mehrere Werte werden mit Komma getrennt (z.B.: ... autoFilter="deleteFontFormats,deleteFormats" ...).

Der Filter wird angewandt, sobald ein Textbereich neu geladen werden muss (Speichern, Zwischenspeichern, Pause, Registerwechsel, Umschalten in Quelltextansicht, Einfügen über STRG+V).

Wie Sie beim Einfügen von Text in ein Textfeld (z.B. Copy & Paste aus einer anderen Quelle) Texte filtern, wird über den Artikel "So nutzen Sie Filter für das Einfügen in ein WYSIWYG-feld" (siehe weiterführende Informationen) beschrieben.