Zum Inhalt springen

RTE Text aus Datenbank konvertieren (<link> zu <a>)

Erstellt am 24. November 2011 · 3 Antworten · letzte Antwort am 25. November 2011

Tags: Links, tt_news, Frage

PranKe01 ·

Moin!

Ich habe das Problem, dass bei der Ausgabe einer meiner Extensions, die Links nicht korrekt ausgegeben werden. Meine Extension lädt den "bodytext" der ttnews aus der entsprechenden Tabelle und speichert diesen Text in einer anderen Datenbank.
In diesem Text sind allerdings etliche Dinge "konvertiert" - so zum Beispiel auch die <a href...> Tags. Diese sehen dann wie folgt aus:

<link http: www.freedigitalphotos.net images view_photog.php?photogid="659" _blank external-link-new-window><sub id="ext-gen1018">Linktext</sub>

Gebe ich diesen Text aus, ist der Link natürlich nicht mehr verwendbar. Meine Frage lautet also:
Wie kann ich den Text aus der Typo3 Datenbank "konvertieren", so dass die Ausgabe wie in den News vom Typo3 Frontend aussehen?
Gibt es da eine Typo3 Funktion für?

Ich habe jetzt bereits eine Stunde gesucht, aber nichts gefunden 🙁 Selbst in der News-Extension habe ich keine "Konvertierung" gefunden.

Danke für Eure Hilfe!

PranKe01 ·

Habe die Lösung hier gefunden: #43411

Als aller erstes die t3lib_pasrehtml_proc Klasse importieren:

require_once(PATH_t3lib.'class.t3lib_parsehtml_proc.php');

Nun ein Object dieser Klasse anlegen:

$parser = new t3lib_parsehtml_proc();

Und hier die Ausgabe als Rückgabewert meiner eigenen Funktion zur Weiterverarbeitung, nachdem die richtig geparst wurde:

return $parser->TS_links_rte($row['bodytext']);

($row['bodytext'] ist in meinem Fall die Variable, welche den Bodytext der tt_news Extension beinhaltet.)

Julian.​Hofmann ·

Hallo.

Je nach Umfeld geht sogar einfacher: Wenn Du pibase-basiert programmierst, dann gibt es die Methode pi_RTEcssText($str)

Will process the input string with the parseFunc function from tslib_cObj based on configuration set in "lib.parseFunc_RTE" in the current TypoScript template. This is useful for rendering of content in RTE fields where the transformation mode is set to "ts_css" or so. Notice that this requires the use of "css_styled_content" to work right.

Viele Grüße
Julian

aemka ·

Wenn du Fluid als Templating Sprache nimmst, brauchst du gar nichs coden, sondern nimmst einfach einen Viewhelper im Template dafür.