Feb
5
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.
„Diese Konfiguration wird NICHT im PageTS definiert, sondern im allgemein gültigen TypoScript.“
Das verstehe ich leider nicht.. wo wird das gemacht? In einer Datei? Welche Datei? Oder im Backend? Wo im Backend?
Guten Tag, wo genau soll die parse.Func hin? Leider bin ich nicht sehr gut in Typo3 und habe manchmal Orientierungsprobleme.
Ich muss meinem Vorredner leider recht geben. Das sollte man vielleicht etwas besser beschreiben!
Die Konfiguration erfolgt hier. https://docs.typo3.org/typo3cms/TSconfigReference/PageTsconfig/Field/Index.html oder in einer PageTS Konfigurationsdatei. In meinem Artikel ist auch beschrieben, dass die Konfiguration in der „PageTS Konfiguration (Root-Page im TYPO3 Seitenbaum)“ erfolgt. Der Bereich „lib.parseFunc_RTE“ wird im globalen TypoScript abgelegt. Entweder auf der Root-Page im EXT-TypoScript Template oder in einer TypoScript Konfigurationsdatei. Es ist abhänging von der Einrichtung des TYPO3 CMS.