Startseite / Vorlagen (Grundlagen) / Aufbau von Vorlagen / Formatvorlagen / Konvertierung

Konvertierung über die Formatvorlagen

Konvertierungsregel einstellen

Aus der Auswahlliste „Konvertierung“ kann eine Konvertierungsregel ausgewählt werden. In der Liste werden nur Konvertierungsregeln angezeigt, die zuvor auf dem Server installiert wurden (weiterführende Informationen siehe Konvertierungs-Regeln (→Dokumentation für Administratoren)). Die Standard-Konvertierungsregel ist „Convert HTML“.

Wird eine Konvertierungsregel ausgewählt, wird diese Regel nur für den entsprechenden Vorlagensatz der selektierten Formatvorlage angewendet.

Wichtig Für jeden Vorlagensatz kann genau eine Konvertierungsregel festgelegt werden. Zusätzliche Konvertierungsregeln können in einem Vorlagensatz über den Aufruf der Methoden .convert() und .convert2() verwendet werden.
Innerhalb eines Projekts können jedoch mehrere Konvertierungsregeln verwendet werden.

Konvertierungsregeln dienen dazu, eingegebene Zeichen zu konvertieren. Dabei kann entweder:

  • ein Zeichen gegen ein anderes Zeichen getauscht werden oder
  • ein Zeichen gegen eine Zeichenkette getauscht werden

Eine Konvertierungsregel besteht aus zwei Teilen:

„convert“ wird immer ausgewertet, wenn für eine Formatvorlage eine Konvertierungsregel selektiert wurden. Soll zusätzlich „quote“ ausgewertet werden, muss außerdem die Checkbox „Zitieren“ aktiviert werden (siehe Seite Eigenschaften).

Wichtig Die Konvertierung wird nur bei der Ausgabe der Eingabekomponenten CMS_INPUT_DOM bzw. CMS_INPUT_DOMTABLE angewendet.
Dazu muss die Ausgabe über das Systemobjekt #content definiert werden, z. B. über $CMS_VALUE(#content)$.

convert

Der Bereich „convert“ wird verwendet, um den formatierten Text für den jeweiligen Vorlagensatz von einem Zeichensatz in den nächsten Zeichensatz zu konvertieren. Damit können für den Vorlagensatz „HTML“ beispielsweise nicht-HTML-konforme Zeichen durch HTML-konforme Zeichen ersetzt werden. Die Konvertierungsregel „Convert HTML“ enthält beispielsweise die Anweisung:

0x3c="<"

Das heißt, die Unicode-Zeichen '0x3c' werden in HTML-kompatible '<' konvertiert.

Die Methode .convert() kann in Vorlagensätzen (z. B. „HTML“) und/oder in einer Formatvorlage aufgerufen werden.

quote

Über den Bereich „quote“ können HTML- bzw. XML-eigene Zeichen zusätzlich quotiert werden. Hier sollte sichergestellt werden, dass mindestens die Zeichen: <, >, ', " quotiert werden bzw. in der verwendeten Konvertierungsregel (für den Vorlagensatz) enthalten sind (siehe Sicherheitsaspekte).

Die Methode .convert2() kann im Vorlagensatz (z. B. „HTML“) und/oder in einer Formatvorlage aufgerufen werden. Die Quotierung kann über die Eigenschaft „Zitieren“ für eine Formatvorlage aktiviert werden.

Beispiel convert und convert2

Beispiel: Konvertierungsregel „test“

[convert]
0x21="ein Ausrufungszeichen"
0x23=0x24
[quote]
0x25=0x22

0x21 ist das Ausrufungszeichen (!),
0x22 ist das Anführungszeichen (")
0x23 ist das Nummernzeichen (#),
0x24 ist das Dollar-Zeichen ($) und
0x25 ist das Prozentzeichen (%).

Wichtig Mehrfache Konvertierungen sollten nicht verwendet werden, z. B.:
0x23=0x24
0x24=0x21

Beispiel: Anwendung der Konvertierungsregel „test“ im Projekt (Formatvorlage): 

<pre>
convert:  $CMS_VALUE(":::!:::#:::%:::".convert("test"))$
convert2: $CMS_VALUE(":::!:::#:::%:::".convert2("test"))$
</pre>

Beispiel: Ergebnis der Konvertierung „test“ im Projekt (Vorlagensatz):

convert:  :::ein Ausrufungszeichen:::$:::%:::
convert2: :::ein Ausrufungszeichen:::$:::":::

Auswertungsreihenfolge von Konvertierungsregeln

Formatierter Text

Die vom Redakteur eingesetzten Formatierungen werden nicht immer streng voneinander getrennt verwendet, sondern unter bestimmten Umständen auch verschachtelt, wie die Abbildung „Formatierter Text“ zeigt.

Dabei werden die Konvertierungsregeln immer von innen nach außen ausgewertet. Sobald eine Konvertierungsregel angewendet wurde, gilt der entsprechende Text als konvertiert und wird für weitere Konvertierungen ausgenommen.

Besitzt eine Formatvorlage keine eigene Konvertierungsregel, kann durch das Setzen einer Variablen im Generierungskontext eine Vererbung von Konvertierungsregeln aktiviert werden.

  • Durch Angabe von $CMS_SET(inherit_format_conversion,  true)$ (z. B. innerhalb einer Projekteinstellungsseite).
  • Damit wird die Vererbung von einer äußeren Formatvorlage auf eine innere Formatvorlage aktiviert (wenn diese keine Konvertierungsregel enthält).

Beispiel:
Für Formatvorlage „Kursiv“ <i>: Konvertierung: Unicode->HTML
Für Formatvorlage „Fett“ <b>: Konvertierung: keine  
Auf unser Beispiel „Das ist ein <i><b>fetter<b> und kursiver<i> Text.“ angewendet bedeutet dies:

$CMS_SET(inherit_format_conversion, false)$   (= Standardeinstellung)

  • Die Konvertierungsregel von „Kursiv“ wird nicht auf den Text innerhalb von „Fett“ angewendet, sondern nur für „Kursiv“
  • „Fett“ erbt also die Einstellung von „Kursiv“ nicht.
  • Das Standardverhalten sieht keine Vererbung der Konvertierungsregeln vor.

$CMS_SET(inherit_format_conversion,true)$

  • Die Konvertierungsregel von „Kursiv“ wird auch auf den Text innerhalb von „Fett“ angewendet, solange für „Fett“ keine eigene Konvertierungsregel gesetzt ist.

Einen Sonderfall stellt die Einstellung einer leeren Konvertierungsregel für eine Formatvorlage dar. Ein so formatierter Text gilt als konvertiert, dass bedeutet es werden keine weiteren Konvertierungen beispielsweise über die Absatzformatvorlagen durchgeführt. Die Zeichen werden im jeweiligen Vorlagensatz so übernommen, wie vom Redakteur eingegeben. Nützlich kann eine solche leere Konvertierungsregel beispielsweise für die Ausgabe von Quelltexten sein.

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.4 | Datenschutz