Zum Inhalt springen

RTE-Code unverändert in DB schreiben

Erstellt am 19. Juni 2003 · 8 Antworten · letzte Antwort am 8. November 2004

Tags: Frage

traumatic ·

Ich weiß, daß diese Frage hier in ähnlicher Form bereits aufgetaucht ist,
die darauf gegebenen Antworten konnten mir bislang aber leider nicht weiterhelfen.

Ich habe eine eigene Extension geschrieben, in der auch das RTE zum Einsatz kommt.
Leider werden alle Umbrüche "gelöscht". Sie liegen zwar im RTE vor, nicht jedoch in der DB.

Wir kann man erreichen, daß der RTE-Code unverändert in der Datenbank landet
(also br- und p-tags etc.) ?

Ich schätze mal, die Lösung liegt irgendwo im HTMLparser, etwas brauchbares habe ich
jedoch noch nicht zustande bekommen.

Schonmal tausend Dank im voraus für jeden Tipp!!

traumatic ·

vielen dank, aber das ist nicht die lösung zu meinem problem.
es landen ja garkeine tags (auch kein <p>) in der db,
ergo kann da auch nichts umgewandelt werden.

atomatom ·

hmmm...was schreibt er dann überhaupt rein??? bei mir sind nun alle <br> tags in der db vorhanden hab aber nicht geschaut wie's vorher ausgesehen hat...
was ich allerdings bemerkt hab ist dass typo grundsätzlich (?) html tags durch eigene ersetzt, z.b. aus <a href> wird <LINK>

traumatic ·
atomatom schrieb

hmmm...was schreibt er dann überhaupt rein???

nur die Typo3-eigenen Tags (link, typolist etc.)

Da aber 'echte' Umbrüche (CR) in der db ankommen, lese ich die Daten
jetzt einfach in ein HTML-Feld, anstatt TEXT zu verwenden.
Dort gibt's dann auch die Möglichkeit, nl2br() zu verwenden.

marks.INHALT = HTML
marks.INHALT.value.field = meinetabellenspalte
marks.INHALT.20.value.br = 1

Das ursprüngliche Problem ist damit zwar nicht wirklich gelöst, aber zumindest sieht das Resultat wie gewünscht aus.

JaXtreme ·

Hast du, oder jemand anders, inzwischen eine akzeptable Lösung für das Problem gefunden?

Ich habe das selbe Problem und keine Ahnung woran es liegen könnte, bzw wie man es beheben kann.

traumatic ·
JaXtreme schrieb

Hast du, oder jemand anders, inzwischen eine akzeptable Lösung für das Problem gefunden?

Ich hab's so gemacht, wie oben beschrieben.
Damit konnte/kann ich gut leben.

jayripper ·

Ich hatte genau dieses Problem und habe mittlerweile gerafft um was es geht. Pass auf...

Wenn Du deine Extension anlegst, bestimmst Du ja auch ein neues Datenbank Feld für den RTE (New Database Tables). Dort gibt es eine sehr wichtige Zeile: Rich Text Editor Mode ! Hier kannst Du dann aus 4-5 Modes auswählen, die das Verhalten des RTE beeinflussen. z.B. NO TRANSFORMATION AT ALL wird Dir 1:1 den HTML Code aus dem Editor in die DB schreiben. Dann hast Du halt das Problem das so ziemlich alles in P Tags gefasst wird. Aber diese kannst Du Dir per CSS ja wieder vernünftig formatieren.

Aber auch wenn Du hier den Standard Mode stehen lässt, so werden noch immer die Zeilenumbrüche in die Datenbank eingetragen. Du siehst Sie nicht als br Tags, da sie als ASCII Code 13 und 10 gespeichert werden. Ich mache es so weil ich die parseFunc von Typo3 nicht ans laufen bringen konnte, dass ich vor der Ausgabe in meiner Extension eine eigene Parser Function aufrufe, die nichts anderes macht als mir den Inhalt aufgrund von ASCII Code 13 zu unterteilen. Mit ein bisschen PHP Verständnis kannst Du so auch die A hrefs die in LINK umgewandelt werden wieder rückgängig machen.

Ansonsten schau mal in verschiedene Extension wie TWO oder THREE COLUMN TEXT...

Alles klar ?!?!

mithrandix ·

Hatte auch gerade derartiges zu lösen - ich persönlich find's aber bedeutend einfacher den "No Transformations"-Mode zu nehmen und die <P>'s herauszufiltern als die Links umzuwandeln.

Trotzdem danke, das Posting hat mich auf die richtige Fährte gebracht.

mithrandix