Im Richt-Text-Editor (RTE) des TYPO3 CMS ist es mit der Standardkonfiguration nicht möglich eingebettete Objekte zum Beispiel von Soundcloud, YouTube, Vimeo, Dailymotion, Flickr, uvm. einzubinden. Der Rich-Text-Editor wird die HTML-Tags iframe, object und embed beim Speichern im TYPO3 CMS Backend verwerfen und nicht in der Datenbank des gewünschten tt_content Elements hinterlegen.
Abhängig vom tt_content Element und/oder der eingesetzten Extension, wird über die Einbindung eines HTML-Bereiches (plain/text) der HTML-Tags gearbeitet. In Extensions wie "news" und den klassichen Content-Elements "Text", "Text mit Bild", ... ist es nicht möglich einfach HTML-Code einzubauen. Die folgende Konfiguration des Rich-Text-Editors (RTE) ist über die gesamte TYPO3 CMS Installation gültig, somit auch alle Extensions/Plugins und funktioniert somit auch im RTE der Extbase Extensions news und cal.
In der PageTS Konfiguration (Root-Page im TYPO3 Seitenbaum), müssen die erforderlichen HTML-Tags dem Rich-Text-Editor (RTE) bekannt gemacht werden. Hierzu wird die RTE-Konfiguration im PageTS um folgenden Code erweitert.
RTE.default.proc {
allowTags := addToList(object,param,embed,iframe)
allowTagsOutside := addToList(object,embed,iframe)
entryHTMLparser_db.allowTags < .allowTags
}HTLM-Tags die bei der Direktive von „allowTagsOutside“ angegeben werden, können außerhalb eines Block-Elements wie „p“ oder „div“ eingefügt werden. Standardmäßig umschließt der RTE beim Rendering der Daten alles mit einem p-Tag.
Zum Abschluss muss die Parser-Funktion des Richt-Text-Editors im TypoScript Setup um die neuen HTML-Tags erweitert werden. Diese Konfiguration wird NICHT im PageTS definiert, sondern im allgemein gültigen TypoScript.
lib.parseFunc_RTE.allowTags := addToList(object,param,embed,iframe)Es ist empfehlenswert den TYPO3 CMS Cache nach dieser Änderung komplett zu leeren. Idealerweise geschieht dies über das Install-Tool und "Clear all caches".
Ab sofort ist es möglich, im HTML-Bearbeitungsmodus des RTE die eingebetteten Objekte (iframe,object,embed) hinzuzufügen und zu speichern.