Übersicht

TypoScript to go

Die aktuelle - zweite - Auflage beinhaltet zwei neue Kapitel, die sich vor allem an Administratoren richten. An vielen Stellen in diesen Kapiteln befinden sich TypoScript Codes, mit denen TYPO3 entsprechend konfiguriert und an die eigenen Bedürfnisse angepasst werden kann. Alle diese TypoSripte können hier kopiert und in der eigenen TYPO3-Installation verwendet werden.

Die genaue Anweisung für den Einsatz sind im jeweiligen Kapitel des Buches beschrieben und sollten am sinnvollsten nur von Administratoren eingesetzt werden.

Beispiel 15-1: Die Beschriftung von Eingabefeldern anpassen

# Mit locallang-Datei
TCEFORM.pages.title {
    label = LLL:EXT:meine_extension/locallang_db.xml:pages.title
}

# Ohne locallang-Datei
TCEFORM.pages.title {
    label.default = Websitetitle
    label.de = Webseitentitel
}

Beispiel 15-2: Beschriftungen von Auswahloptionen anpassen

# Mit locallang-Datei
TCEFORM.pages.doktype.altLabels {
    1 = LLL:EXT:meine_extension/locallang_db.xml:doktype.I.1
    254 = LLL:EXT:meine_extension/locallang_db.xml:doktype.I.254
}

# Ohne locallang-Datei
TCEFORM.pages.doktype.altLabels {
    1 = Normale Seite
    254 = SystemOrdner (fuer Datensaetze)
}

Beispiel 15-3: Das Feld Alternativer Navigationstitel in den Seiteneigenschaften ausblenden

TCEFORM.pages {
    nav_title.disabled = 1
}

Beispiel 15-4: Auswahloptionen ausblenden und erweitern

TCEFORM.pages.doktype {
    removeItems = 199, 255
    addItems.123 = LLL:EXT:meine_extension/locallang_db.xml:doktype.I.123
}

Beispiel 15-5: Standardinhalte setzen

# Benutzer/USER-TSconfig
TCAdefaults.pages {
    author = Max Mustermann
    layout = 2
    hidden = 1
}

# Seiten/PageTSconfig ueberschreibt die Benutzer/USER-TSconfig unter
# Beruecksichtigung der Zugriffsberechtigungen.
TCAdefaults.pages {
    layout = 1
    hidden = 0
}

Beispiel 15-6: Feldtyp anpassen

TCEFORM.pages.title.config {
    # Vorher 30
    size = 10
    # Vorher 255
    max = 25
}

Beispiel 15-7: Nur die Spalten Normal und Rechts anzeigen

# Nur die Spalten Normal und Rechts im BE anzeigen
mod.SHARED.colPos_list = 0,2

Beispiel 15-8: Inhaltsspalten auch in den Auswahllisten ausblenden

# Spalten in den Auswahllisten der Inhaltselemente ausblenden
TCEFORM.tt_content.colPos.removeItems = 1,2 

Beispiel 15-9: Weitere Inhaltsspalten für das Backend erzeugen

# extTables.php
$TCA['tt_content']['columns']['colPos']['config']['items'][4] = Array(
     0 => 'My Columns||Meine Spalte||||||||',
     1 => 4
);

# Spalte ueber TypoScript ansprechen.
# Dazu definieren wir ein neues styles.content-Objekt, nehmen als
# Vorlage styles.content.get und passen es fuer unsere neue Spalte an.
styles.content.getMyColumn < styles.content.get
styles.content.getMyColumn.select.where = colPos=4

# Inhalt der neuen Spalte auf der Webseite ausgeben.
pages.10 < styles.content.getMyColumn

Beispiel 15-10: Spalten Normal und Rand umbenennen

# extTables.php
# Code muss einzeilig sein, hier jedoch aus Platzgruenden durch \\ umbrochen.
$TCA['tt_content']['columns']['colPos']['config']['items'][1]\\
[0] = 'Middle||Mitte||||||||';
$TCA['tt_content']['columns']['colPos']['config']['items'][3]\\
[0] = 'Footer||Fusszeile||||||||';

Beispiel 15-11: Datensätze einschränken

# Seiten/Page-TSconfig-Konfiguration zum Unterbinden aller Datensaetze bis auf
# Seiten (pages) und Inhaltselemente (tt_content).
mod.web_list.allowedNewTables = pages, tt_content

Beispiel 15-12: Nur Datensätze von tt_news erlauben

# Erlaubt ab dieser Seite nur die Erstellung von tt_news-Datensaetzen.
mod.web_list.allowedNewTables = tt_news, tt_news_cat

Beispiel 15-13: Datensätze einschränken

# Seiten/Page-TSconfig-Konfiguration zum Unterbinden der Datensaetze.
# Nachrichten (tt_news) und Rubriken (tt_news_cat)
mod.web_list.deniedNewTables = tt_news, tt_news_cat

Beispiel 15-14: Nur Datensätze von tt_news erlauben

# Funktion fuer alle Datensaetze deaktivieren
options.saveDocNew = 0

# Datensaetze freischalten, fuer die die Funktion verfuegbar sein soll
options.saveDocNew.tt_news = 1
options.saveDocNew.tt_news_cat = 1 

Beispiel 15-15: Für alle Datensätze bis auf tt_news erlauben

# Funktion fuer alle Datensaetze aktivieren
options.saveDocNew = 1

# Datensaetze deaktivieren, fuer die die Funktion nicht verfuegbar sein soll
options.saveDocNew.tt_news = 0
options.saveDocNew.tt_news_cat = 0

Beispiel 15-16: Übersicht über die freigeschalteten Buttons der Grundeinstellung Typical

RTE.default.showButtons (
    class, blockstylelabel, blockstyle, textstylelabel, textstyle, formatblock, bold, italic, subscript, superscript, orderedlist, unorderedlist, outdent, indent, textindicator, insertcharacter, link, table, findreplace, chMode, removeformat, undo, redo, about, toggleborders, tableproperties, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, columninsertbefore, columninsertafter, columndelete, columnsplit, cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge
)

Beispiel 15-17: hideButtons als Gegenstück zu showButtons

RTE.default.hideButtons (
    blockstylelabel, textstylelabel, subscript, superscript, outdent, indent, textindicator
)

Beispiel 15-18: Drei CSS-Definitionen für die Verwendung im RTE

span.mono, em.mono {
    font-family: monospace;
    padding: 0.2em;
    border: 1px #CCD dotted;
}

p.box {
    padding-left: 0.5em;
    border-left: 8px red solid;
}

.bluebox {
    padding: 0.2em;
    border: 1px #ccd solid;
    background: #F0F0F4;
}

Beispiel 15-19: RTE-Konfiguration zur Einbindung der CSS-Definitionen

RTE.default {
    showTagFreeClasses = 1
    classesCharacter = mono
    classesParagraph = box, bluebox
    proc {
        allowedClasses < RTE.default.classesCharacter
        classesParagraph < RTE.default.classesParagraph
    }
}

Seite 502: Inhalte automatisiert einblenden und vererben 1

marks.RECHTS < styles.content.getRight
marks.RECHTS.stdWrap.ifEmpty.cObject = RECORDS
marks.RECHTS.stdWrap.ifEmpty.cObject {
  tables = tt_content
  source = 10,11,12,13
  dontCheckPid = 1
}

Seite 502: Inhalte automatisiert einblenden und vererben 2

marks.RECHTS < styles.content.getRight
marks.RECHTS.stdWrap.ifEmpty.cObject = COA_INT
marks.RECHTS.stdWrap.ifEmpty.cObject {
  10 = RECORDS
  10 {
    tables = tt_content
    source = 10,11,12,13
         dontCheckPid = 1
     }
}

Seite 503: CONTENT Slide - Inhalte automatisch vererben

marks.RECHTS < styles.content.getRight
marks.RECHTS.slide = -1

Beispiel 16-1: Einen Marker füllen

FOOTER = RECORDS
FOOTER {
  tables = tt_address
  // Die ID des Datensatzes
  source = 1
  // Wenn der Datensatz z.B. in einem Ordner liegt,
  // muss diese Option gewaehlt sein.
  dontCheckPid = 1
  conf.tt_address = COA
  conf.tt_address {
    10 = TEXT
    10 {
      field = company
      typolink.parameter.field = email
      wrap = <p>|</p>
    }
  }
}

Beispiel 16-2: Das Top-Level-Element tt_address definieren

tt_address = COA
tt_address {
  wrap = <div class="vcard">|</div>
  10 = TEXT
  10 {
    field = company
    htmlSpecialChars = 1
    wrap = <div class="org">|</div>
  }
  20 = TEXT
  20 {
    field = email
    typolink {
      parameter.field = email
      ATagParams = class="email"
    }
    required = 1
  }
  30 = COA
  30 {
    stdWrap.wrap = <div class="adr">|</div>
    stdWrap.required = 1
    10 = TEXT
    10 {
      htmlSpecialChars = 1
      field = address
      wrap = <div class="street-address">|</div>
    }
    15 = TEXT
    15 {
      field = zip
      noTrimWrap = |<span class="postal-code">|</span> |
    }
    20 = TEXT
    20 {
      field = city
      htmlSpecialChars = 1
      wrap = <span class="locality">|</span>
      required = 1
    }
  }
  40 = TEXT
  40 {
    field = phone
    wrap = <div class="tel">|</div>
    required = 1
  }
}

Beispiel 16-3: Anpassen der Breiten- und Höhenangaben

tt_content.image.20 {
    equalH >
    1.file {
        width {
            append = TEXT
            append.value = c
        }
        height {
            append = TEXT
            append.value = c
            field = imageheight
        }
    }
}

Beispiel 16-4: Verwenden von Umbrüchen als Trenner

tt_content.image.20.1.imageLinkWrap {
    enable.ifEmpty.typolink.parameter.listNum.splitChar = 10
    typolink.parameter.listNum.splitChar = 10
}

Beispiel 16-5: Inhaltselement IMAGE erweitern

tt_content.image.20 {
    1 {
        stdWrap.innerWrap (
            |<a href="#" class="linkedImage" onclick="openLinkedImage(this); return false;">
            <img src="fileadmin/template/img/icons/pfeil.gif" alt=""
            title="Klicken, um den Link zu &ouml;ffnen" /></a>
        )
        stdWrap.innerWrap {
            if.isTrue.field = image_link
        }
        stdWrap.innerWrap2 (
            |<a href="#" class="linkedImage" onclick="openClickEnlarge(this); return false;">
            <img src="fileadmin/template/img/icons/lupe.gif" alt=""
            title="Klicken, um Bild zu vergr&ouml;&szlig;ern" /></a>
        )
        stdWrap.innerWrap2 {
            if.isTrue.field = image_zoom
            if.isFalse.field = image_link
        }
    }
}

Beispiel 16-6: Bildzuschnitt nur für den entsprechenden Bildeffekt aktivieren

# Abbildung 16-15:  Auswahl des neuen Effekts Zuschneiden
TCEFORM.tt_content.image_effects.addItems.30 = Zuschneiden

# Beispiel 16-5
temp.image < tt_content.image.20
tt_content.image.20 >
tt_content.image.20 = CASE
tt_content.image.20 {
    key.field = image_effects
    default < temp.image
    30 < temp.image
    30 {
        equalH >
        1.file {
            width {
                append = TEXT
                append.value = c
            }
            height {
                append = TEXT
                append.value = c
                field = imageheight
            }
        }
    }
}

Druckfehler

An dieser Stelle wurde der erste innerWrap fälschlicherweise durch eine geschweifte Klammer } anstelle einer runden Klammer geschlossen.

Zusätzlich empfiehlt es sich in das onclick Event ein "return false" hinzuzufügen. Andernfalls springt der Browser bei dem Klick auf das Lupenicon auf den Seitenanfang. Vielen Dank an Ralf Becker für die Hinweise.

Beispiel 16-6: JavaScript-Funktion openClickEnlarge()

function openClickEnlarge(el) {
    el.parentNode.getElementsByTagName('a')[0].onclick();
}

Beispiel 16-7: JavaScript-Funktion openLinkedImage()

function openLinkedImage(el) {
    url = el.parentNode.getElementsByTagName('a')[0].getAttribute('href');
    target = el.parentNode.getElementsByTagName('a')[0].getAttribute('target');
    switch (target) {
        case '_top':
            document.location.href = url;
        break;
        case '_blank':
            window.open(url);
        break;
    }
}

Beispiel 16-8: CSS-Formatierung

.linkedImage {
    display: block;
    height: 16px;
    margin: -20px 5px 10px 0;
    text-align: right;
}

Beispiel 16-9: Freigabe des Admin-Panels für Redakteure im Tsconfig des BE-Benutzers oder der BE-Gruppe

admPanel {
    enable.edit = 1
}

Beispiel 16-10: Das Frontend Editing als "Extrakt" des Admin-Panel

admPanel {
    # Aktivieren der Optionspalette Eingabe
    enable.edit = 1
    # Bearbeitungsleiste einblenden
    override.edit.displayIcons = 1
    # Bearbeitungsstifte ausblenden
    override.edit.displayFieldIcons = 0
    # Ausblenden des Admin-Panel
    hide = 1
}

Beispiel 16-11: Erweitertes Frontend Editing: Die Eingabe- und Vorschau-Palette

admPanel {
    # Aktivieren der Optionspalette Eingabe
    enable.edit = 1
    # Aktivieren der Optionspalette Vorschau
    enable.preview = 1
}

Beispiel 16-12: editPanel-Einstellungen fuer TYPO3-Inhaltselemente

tt_content {
    stdWrap {
        editPanel {
            # Aktivieren folgender Funktionen
            allow = new,move,edit,hide,delete
            # Titel des Datensatzes, wird ueber %s eingefuegt, wenn vorhanden
            label = Datensatz: <b>%s</b>
            # Eine horizontale Linie nach jeder Leiste einziehen
            line = 5
            # Umrandung um ausgeblendete/zeitgesteuerte Elemente
            previewBorder = 1
        }
    }
}

Beispiel 16-13: editPanel-Einstellungen fuer Seiten

page.9998 < styles.content.editPanelPage
page.9998 {
    10 {
        editPanel {
            # Hier folgen Ihre Einstellungen.
        }
    }
}

Beispiel 16-14: Frontend Editing für News-Datensätze aktivieren

plugin.tt_news {
    general_stdWrap.editPanel = 1
    general_stdWrap.editPanel {
        allow = new,edit,hide,delete
        label = %s
        line = 5
        previewBorder = 1
    }
}

Beispiel 16-15: Das veränderte Frontend Editing für die Schalter-Funktion

admPanel {
    # Aktivieren der Optionspalette Eingabe
    enable.edit = 1
    # Bearbeitungsleiste einblenden
    module.edit.forceDisplayIcons = 1
    # Bearbeitungsstifte ausblenden
    module.edit.forceDisplayFieldIcons = 0
    # Ausblenden des Admin-Panel
    hide = 1
}

Beispiel 16-16: Realisierung des Ein- und Ausschalters über Conditions

[globalVar = TSFE : beUserLogin > 0]
    page.9999 = TEXT
    page.9999.value = Vorschau-Modus
    page.9999.typolink.parameter.data = TSFE:id
    page.9999.typolink.additionalParams = &preview=1
[else]
    page.9999 >
[end]

[globalVar = GP:preview > 0]
    tt_content.stdWrap.editPanel > 
    plugin.tt_news.general_stdWrap.editPanel >
    # Deaktivieren des Frontend Editing fuer Seiten, siehe Beispiel 5
    page.9998 >
    page.9999 = TEXT
    page.9999.value = Bearbeiten-Modus
    page.9999.typolink.parameter.data = TSFE:id
    page.9999.typolink.additionalParams = &preview=0
[end]

Beispiel 16-17: Auslagern unnötigen Codes und Unterbinden von HTML-Kommentaren

config.removeDefaultJS = external
config.inlineStyle2TempFile = 1
config.disablePrefixComment = 1
config.xhtml_cleaning = all

Beispiel 16-18: Unnötigen Quelltext aus Überschriften entfernen

lib {
  stdheader {
    # Umschliessende DIVs entfernen
    stdWrap.dataWrap =
    # CSS-Klasse der ersten Ueberschrift auf einer Seite entfernen
    3.headerClass =
    3.headerClass.noTrimWrap =
  }
}

Beispiel 16-19: Ausgabe des RTE optimieren

lib {
    parseFunc_RTE {
        nonTypoTagStdWrap {
            encapsLines {
                # Umschreiben veralteter Tags in den xHTML-Standard
                remapTag.B = STRONG
                remapTag.I = EM
                # <DIV>-Tags (z.B. per Copy-and-Paste) zu Absaetzen wandeln
                RemapTag.DIV = P
                # CSS-Klasse "bodytext"aus Absaetzen entfernen
                addAttributes.P.class >
            }
            # xHTML-konformes "Remapping"
            HTMLparser.tags {
            b.remap = strong
            i.remap = em
        }
    }
}

Beispiel 16-20: Setzen des <HR>-Tags für horizontale Linien

tt_content {
  stdWrap {
    innerWrap {
      cObject {
        # Linie davor
        5 >
        5 = TEXT
        5.value = <hr id="c{field:uid}" />|
        5.insertData = 1
        # Linie danach
        6 >
        6 = TEXT
        6.value = |<hr id="c{field:uid}" />
        6.insertData = 1
      }
    }
  }
}

Beispiel 16-21: Ergänzen des temporären Bildnamens um bis zu 100 Zeichen des Originalnamens der Datei

config.meaningfulTempFilePrefix = 100 

Beispiel 16-22: Einstellungen für die Metaangaben im Seitenkopf

page.meta {
    robots = all
    copyright = 2009
    content-language = de
    author = Max Mustermann
    # Stichwoerter der Seiteneigenschaften verwenden
    keywords.field = keywords
    # Beschreibung der Seiteneigenschaften verwenden
    description.field = description
    # Textlaenge nach 160 Zeichen abschneiden, mehr bleibt meist unberuecksichtigt
    description.stdWrap.crop = 160
}

Beispiel 16-23: Neuformatierung des Seitentitels

# Automatisch erzeugten Seitentitel abschalten
config.noPageTitle = 2

# Erstellen des neuen Titelformats
page.headerData.5 = COA
page.headerData.5 {
    wrap = <title>|</title
    10 = TEXT
    10 {
        field = subtitle
        ifEmpty.field = title
    }
    20 = TEXT
    20 {
        data = leveltitle : 1
        noTrimWrap = | - ||
        # if.isFalse: Wenn die folgenden Bedingungen false zurueckgeben,
        # wird der Inhalt von .20 gerendert.
        if.isFalse.cObject = COA
        if.isFalse.cObject {
            # ... wenn Titel gleich dem von Level 1 ist.
            1 = TEXT
            1.value = 1
            1.if {
                value.cObject = TEXT
                value.cObject {
                    field = subtitle
                    ifEmpty.field = title
                }
                equals.data = leveltitle : 1
            }
            # Spezielle Seiten/Systemordner auf Level 1 nicht einbeziehen.
            # ... wenn aktuelle Seiten-ID gleich 9,13 und 56.
            2 = TEXT
            2.value = 2
            2.if {
                value.data = leveluid : 1
                IsInList = 9,13,56
            }
        }
    }
    30 = TEXT
    30.value = Marken-/Domainname oder Name der Website
    30.noTrimWrap = | - ||
}

# Auf der Startseite (ID=1) nur den Domainnamen anzeigen
[globalVar= TSFE:id=1]
    page.headerData.5.10 >
    page.headerData.5.20 >
    page.headerData.5.30.noTrimWrap >
[global] 

Beispiel 16-24: Konfiguration der Fehlerbehandlung

pageNotFound_handling = 1
pageNotFound_handling_statheader = HTTP/1.1 404 Not Found
 

Beispiel 16-25: Der Inhalt einer robots.txt

# Anweisung fuer alle Robots
User-agent: *
Disallow: /fileadmin/_temp_/
Disallow: /beispiel.xml

# Spezielle Anweisung fuer den Robot "SearchRobot"
User-agent: SearchRobot/1.0
Disallow: /fileadmin/template/
 

Beispiel 16-26: Domainumleitungen mittels RewriteRules

# Umleitung Hauptdomain auf www.hauptdomain.de
RewriteCond %{HTTP_HOST} ^hauptdomain\.de$ [NC]
RewriteRule ^(.*)$ http://www.hauptdomain.de%{REQUEST_URI} [R=301,L]

# Umleitung der Nebendomain1 inklusive moeglicher Subdomains
RewriteCond %{HTTP_HOST} nebendomain1\.de$ [NC]
RewriteRule ^(.*)$ http://www.hauptdomain.de%{REQUEST_URI} [R=301,L]

# Umleitung der Nebendomain2 exklusive moeglicher Subdomains
RewriteCond %{HTTP_HOST} ^nebendomain2\.de$ [NC]
RewriteRule ^(.*)$ http://www.hauptdomain.de%{REQUEST_URI} [R=301,L]
# Explizierte Umleitung der Subdomain www.nebendomain2.de
RewriteCond %{HTTP_HOST} ^www.nebendomain2\.de$ [NC]
RewriteRule ^(.*)$ http://www.hauptdomain.de%{REQUEST_URI} [R=301,L]
 

Beispiel 16-27: Übertrag der Detailseite des News-Systems auf den Link Handler

plugin.tx_linkhandler {
    tt_news.parameter = {$plugin.tt_news.singlePid}
}

Beispiel 16-28: Die .htaccess-Anweisungen für SimulateStaticDocuments

RewriteEngine On
RewriteRule   ^[^/]*\.html$ index.php
 

Beispiel 16-29: Möglichkeiten der SimulateStaticDocuments Methode

# Aktivieren von SimulateStaticDocuments.
config.simulateStaticDocuments = 1

# Ignorieren des Seitentyps, wenn dieser nicht gesetzt ist.
# seite.0.html erscheint als seite.html, seite.1.html bleibt bestehen.
config.simulateStaticDocuments_noTypeIfNoTitle = 1

# Optional: Anstelle der Seiten-ID oder des -Alias immer die ersten 30 Zeichen
# des Titels verwenden, die vorherige Anweisung wird dadurch aufgehoben.
config.simulateStaticDocuments_addTitle = 30

# URL-Parameter verschluesseln, moegliche Werte: md5 oder base64.
config.simulateStaticDocuments_pEnc = md5

# Auflistung der zu verschluesselnden Parameter.
config.simulateStaticDocuments_pEnc_onlyP = MP, RDCT, cHash, L, print, type, no_cache, swords, tx_ttnews[backPid], tx_ttnews[tt_news], tx_ttnews[pS], tx_ttnews[pL], tx_ttnews[arc], tx_ttnews[cat], tx_ttnews[pointer], tx_ttnews[swords]

Beispiel 16-30: Der Inhalt der .htaccess-Datei für RealURL

RewriteEngine On
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php

Beispiel 16-31: Aktivieren von RealURL per TypoScript

config.simulateStaticDocuments = 0
config.baseURL = http://www.example.com/
config.prefixLocalAnchors = all
config.tx_realurl_enable = 1

Seite 489: Adressdatensatz im Inhaltsbereich wiederverwenden

tt_address = COA
tt_address {
  wrap = <div class="vcard">|</div>
  10 = TEXT
  10 {
     field = company
     htmlSpecialChars = 1
     wrap = <div class="org">|</div>
  }
  20 = TEXT
  20 {
     field = email
     typolink {
       parameter.field = email
       ATagParams = class="email"
     }
     required = 1
  }
  30 = COA
  30 {
     stdWrap.wrap = <div class="adr">|</div>
     stdWrap.required = 1
     10 = TEXT
     10 {
       htmlSpecialChars = 1
       field = address
       wrap = <div class="street-address">|</div>
     }
     15 = TEXT
     15 {
       field = zip
       noTrimWrap = |<span class="postal-code">|</span> |
     }
     20 = TEXT
     20 {
       field = city
       htmlSpecialChars = 1
       wrap = <span class="locality">|</span>
       required = 1
     }
  }
  40 = TEXT
  40 {
    field = phone
    wrap = <div class="tel">|</div>
    required = 1
  }
}

Seite 492: Bild-/Wortmarken 1

lib.parseFunc_RTE.short {
  typo3 = TYPO3
  Typo3 = TYPO3
}

Seite 492: Bild-/Wortmarken 2

lib.parseFunc_RTE.tags.link.parseFunc.short < lib.parseFunc_RTE.short 

Seite 493: Bild-/Wortmarken 3

lib.stdheader.10.setCurrent.parseFunc.short < lib.parseFunc_RTE.short

Seite 493: Bild-/Wortmarken 4

lib.parseFunc.short < lib.parseFunc_RTE.short

Seite 494: Wortmarken mit HTML-Code 1

lib.stdheader.10.setCurrent.parseFunc.short < lib.parseFunc_RTE.short
lib.stdheader.10.setCurrent.htmlSpecialChars = 1

Seite 494: Wortmarken mit HTML-Code 2

lib.stdheader.10.setCurrent.stdWrap.htmlSpecialChars = 1
lib.stdheader.10.setCurrent.parseFunc.short < lib.parseFunc_RTE.short
lib.stdheader.10.setCurrent.htmlSpecialChars = 0