Typo3-RTE konfigurieren

Immer wenn ich Formatierungs-Einstellungen am RTE (htmlArea) von Typo3 vornehmen will, habe ich vergessen, was dazu nötig ist und muß mir die entsprechende Doku wieder zusammensuchen. Daher habe ich hier die wichtigsten Infos zusammengefaßt:

Das aktuelle Handbuch zur RTE-Konfiguration ist zu finden unter
typo3.org -> Documentation -> Document Library -> Extension Manuals -> htmlArea RTE Manual
bzw. http://typo3.org/documentation/document-library/extension-manuals/rtehtmlarea_manual/1.7.4/view/
Es ist auch in der Extension enthalten (Download im Extension-Manager).

 

Die drei bzw. vier Dropdown-Listen beziehen sich auf folgende Elemente:

Englische Bezeichnung Deutsche Bezeichnung Bezeichnung im Handbuch Zuständige Extension-Extension Key in showButtons-Liste Wirkung
Block style Blockstil BlockStyle blockstyle Legt die Klasse des aktuellen Block-Elements fest, meist div, aber auch z.B. ul oder img
Text style Textstil Text styling TextStyle textstyle Legt die Klasse des aktuellen Inline-Elements fest (und schafft ggfs. ein neues span)
Block format Blockformat BlockElements formatblock Auswahl von Block-Tags (p, h1, …)
Inline format Textformat Text formating InlineElements formattext Auswahl von Inline-Tags (code, strong, …)

 

Block style

Zum Anlegen einer neuen Klasse für Blockelemente sind folgende Schritte nötig:

  • Anlegen der Klasse im Stylesheet des RTE, entweder
    – durch Hinzufügen zu der mit RTE.default.contentCSS festgelegten Datei, oder
    – durch Festlegen als RTE.default.inlineStyle.beliebiger-key (dabei darf RTE.default.ignoreMainStyleOverride nicht gesetzt sein).
  • Festlegen der Darstellung in der Auswahlliste durch
    RTE.classes.name-der-klasse.name = Name in der Auswahlliste
    und
    RTE.classes.name-der-klasse.value = CSS-Style des Auswahllistenpunktes
  • Optional: Zulassen der Klasse in RTE.default.buttons.blockstyle.tags.name-des-tags.allowedClasses
    Dieser Schritt ist optional, sind für einen Tag keine erlaubten Klassen festgelegt, dann sind alle wie oben beschrieben definierten Klassen erlaubt.
    Für die Tags div, table und td kann dies auch in der abgekürzten Form RTE.default.classesParagraph, …classesTable und …classesTD definiert werden.
  • Selbstverständlich muß die entsprechende Definition noch im Frontend-CSS ausgestaltet werden.

Text style

Zum Anlegen einer neuer Inline-Formatierung sind folgende Schritte nötig:

  • Genau wie oben: Anlegen der Klasse im Stylesheet des RTE, entweder
    – durch Hinzufügen zu der mit RTE.default.contentCSS festgelegten Datei, oder
    – durch Festlegen als RTE.default.inlineStyle.beliebiger-key (dabei darf RTE.default.ignoreMainStyleOverride nicht gesetzt sein).
  • Genau wie oben: Festlegen der Darstellung in der Auswahlliste durch
    RTE.classes.name-der-klasse.name = Name in der Auswahlliste
    und
    RTE.classes.name-der-klasse.value = CSS-Style des Auswahllistenpunktes
  • Optional: Zulassen der Klasse in RTE.default.buttons.textstyle.tags.name-des-tags.allowedClasses
    Dieser Schritt ist optional, sind für einen Tag keine erlaubten Klassen festgelegt, dann sind alle wie oben beschrieben definierten Klassen erlaubt.
  • Selbstverständlich muß die entsprechende Definition noch im Frontend-CSS ausgestaltet werden.

Block format

Um ein bestimmtes Block-Element zuzulassen sind folgende Schritte nötig:

  • Standardmäßig (im Modus “Typical”) sind alle unterstützten Blockelemente bis auf address und pre aktiviert
  • Aktivierung des Tags in der Auswahlliste durch
    Nichtnennung in RTE.default.buttons.formatblock.removeItems
    und ggfs.
    Nennung in RTE.default.buttons.formatblock.orderItems

Inline format

Um ein bestimmtes Inline-Element zuzulassen sind folgende Schritte nötig:

  • Aktivierung der Option enableInlineElements in der Konfiguration der Extension (Extensionmanager)
  • Aktivierung des Tags in der Auswahlliste durch
    Nichtnennung in RTE.default.buttons.formattext.removeItems
    und ggfs.
    Nennung in RTE.default.buttons.formattext.orderItems
  • Ggfs. Anzeige von Liste oder Buttons durch Hinzufügen zu RTE.default.showButtons, da die Dropdown-Liste standardmäßig nicht aktiviert ist:
    formattext für die Dropdown-Liste mit allen aktivierten Inline-Formatierungen
    – der Name des Buttons für einen eigenen Knopf für die jeweilige Formatierung

Anmerkungen:

  • Als RTE Interface Configuration Object habe ich in den Beispielen RTE.default verwendet, sie sind aber natürlich auch auf jedes andere Configuration Object anwendbar.
  • Die Default-Konfigurationen stammen aus den Dateien EXT:rtehtmlarea/res/typical/pageTSConfig.txt (dies ist beim Installieren der Extension auswählbar) und EXT:rtehtmlarea/res/contentcss/default.css. Letztere wird deaktiviert, wenn man RTE.default.contentCSS festlegt.
  • Pfadangaben in inlineStyle-Definitionen sind relativ zu typo3temp/rtehtmlarea/, Pfadangaben in RTE.classes.name-der-klasse.value-Stilen sind relativ zu typo3/.
  • Unbekannte Klassen werden in meiner Testinstallation bei der Transformation noch nicht entfernt. Warum dies so ist, habe ich noch nicht herausbekommen.