Typo3 - Rich Text Editor (RTE)
RTE-Konfiguration als Extension laden
Todo. Vgl. die Extension Rich Text Editor pre-configuration die bei den Examples steht.
RTE einrichten
Hinweis:
Ab Version 4 ist der Editor HTMLArea eingesetzt, den es für frühere Versionen als Extension gibt. Für Typo3 Versionen unter 4 muß die HTMLArea Extension in einer Version kleiner 1.3 installiert werden sonst gibt's eine Fehlermeldung beim Verlinken.
Das Aussehten des RTE, die verfügbaren Optionen und die HTML-Ausgabe läßt sich einstellen. Über das PageTS Config Feld der Seiten kann man z.B. einzelne Funktionen des RTE für den Seitenbaum abstellen.
RTE HTML-Ausgabe
Der RTE formatiert verändert den HTML Code auf verschiedene Weise. Wie er das macht läßt sich beeinflussen. Hier einige nützliche Beispiele:
Restriktive RTE-Konfiguration
1.Schritt: Nur die Inhaltselemente Text und Text mit Bild sollen mit dem RTE bearbeitet werden.
Im PageTS-Config Feld:
RTE.default.disabled=1
RTE.config.tt_content.bodytext.types{
text.disabled = 0
textpic.disabled = 0
}
2. Schritt: Nur noch die Standardformatierung und zwei Spezial formatierungen zur Auswahl lassen:
<pre>
RTE.classes{
highlight{
name = Highlight
value = font:bold; color: red;
}
zitat{
name = Zitat
value=font:italic 15px; margin-left:20px;
}
}
RTE.default.classesCharacter = highlight, zitat
3.Schritt: Üver das User TSConfig kann man nun einstellen welche Menüoptionen dem User angezeigt werden.
options.RTEkeyList = class, bold, italic, link
Konfigurationsbeispiele
htmlArea
Mit der Extension htmlarea steht auch für Mozilla basierte Browser ein Editor zur Verfügung der auf dem bekannten HTMLArea basiert.
Viele der RTE Optionen funktionieren auch in htmlarea, darüber hinaus auch noch einige weitere.
Konfigurationsbeispiele htmlarea
Eigene Tags verwenden
RTE.default.proc.allowTags = list-of-allowed-tags RTE.default.proc.HTMLparser_rte.tags.mycustomtag.protect =1
where list-of-allowed-tags is the list of all allowed tags, including your custom tag, and mycustomtag is the name of your tag.
Klasse für Tabellen ändern
«Typo3 always replaces the class I selected in the RTE for a table with the class "contenttable". Do you have an idea how to switch that off?» Assuming that you have installed extension CSS Styled Content (css_styled_content), add the following line in your TS template Setup field:
lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.class.list >
The contenttable class will then be added only if no class is specified for the table.
diverses
eigene Klassen
RTE {
classes {
Infobox {
name = Infobox
value = eigenschaften
}
}
default {
classesParagraph = Infobox
contentCSS = fileadmin/templates/version1/css/style.css
classesCharacter = Infobox
proc.allowedClasses (
Infobox, ...
)
}
}
Probleme und Lösungen
JavaScript Bug mit htmlarea und Firefox 2.0.0.3
Der Editor lädt nicht in der oben genannten Version von Firefox. Das liegt an einem Filter von htmlarea der dafür sorgen soll das die richtigen Routinen verwendet werden. Dieser erkennt die 0.0.3 Signatur falsch (den User Agent String). Der neue String heißt:
Mozilla/5.0 (Windows; U; Windows NT 5.0; de; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
das 1.3 verwechselt htmlarea mit dem IE für Mac
Workaround: eine schnelle Lösung ist den Firefox mit einer anderen Signatur auszustatten: Sie können den User Agent String in Firefox direkt ändern. Rufen Sie dazu in der Adresszeile auf:
about:config
Im Anzeigebereich erscheinen die Firefox-Einstellungen. Klicken Sie hier auf die rechte Maustaste um das Kontextmenü zu öffnen und wählen Sie neu - String aus.
Als Einstellungsname tragen Sie:
general.useragent.override
ein. Als Wert tragen Sie beispielsweise ein (am Besten copy&paste):
Mozilla/5.0 (Windows; U; Windows NT 5.0; de; rv:1.8.1.2pre) Gecko/20070111 Firefox/2.0.0.2
Diese Einstellungen sind sofort wirksam (kein Neustart erforderlich). Falls Sie in Typo3 angemeldet waren, müssen Sie sich erneut anmelden.
Um diesen User Agent Sting zu verwenden, wählen Sie ihn bitte aus dem Menü aus:
Extras - User Agent Switcher - Firefox 2.0.0.2
Löschen Sie noch bitte den Cache von Firefox:
Extras - Einstellungen - Erweitert - Netzwerk - Cache - Jetzt löschen
Nun sollte der RTE in Typo3 wieder funktionieren.
htmlarea - Eigene Tags verwenden
In der Standard - Einstellung werden eigene Tags verworfen. So kann man das verhindern:
### Allow Custom Tags ### RTE.default.proc.allowTags = list-of-allowed-tags RTE.default.proc.HTMLparser_rte.tags.mycustomtag.protect =1
Wobei list-of-allowed-tags eine Kommaseparierte Liste der erlaubten Tags enthält und mycustomtag den betreffenden neuen Tag schützt.
htmlarea - Bilder lassen sich nicht speichern
Das "Problem" liegt darin dass htmlarea standardmässig so konfiguriert ist:
## REMOVE IMG TAGS entryHTMLparser_db.tags.img.allowedAttribs = 0 entryHTMLparser_db.tags.img.rmTagIfNoAttrib = 1
Damit werden beim Speichern in typo3 also zuerst alle Attribute aus dem Image-Tag entfernt und schließlich der gesamte Tag auch noch, weil er ja kein Attribut mehr enthält.
Ohne Häcken im Extension-Manager tut es also auch
## SAVE IMG TAGS entryHTMLparser_db.tags.img.allowedAttribs = alt,class,style,src,title entryHTMLparser_db.tags.img.rmTagIfNoAttrib = 1
Vor allem das Attribut src ist wichtig ;-)
htmlarea - Fehlermeldung wenn Bilder im Frontend angezeigt werden sollen
Bei Versionen unter Typo3 4.0 eine niedrigere Version von htmlarea verwenden (1.1.3 oder evt. 1.1.6)