Rendern von TYPO3-Links in eigener Extension (RTE: <link>)

Bei der Ausgabe von Links, die im TYPO3-Backend mit dem RTE eigegeben wurden, werden die dort erzeugten &lt;a&gt;-Tags umgewandelt in das TYPO3-interne Format &lt;link /&gt; und in der Datenbank gespeichert. Die Ausgabe im Frontend führt dann zu Fehlern, da die &lt;link /&gt;-Tags nicht interpretiert werden können. Um die Tags vor der Ausgabe in korrekte Links umzuwandeln, habe ich folgende Lösung gefunden: Die Methode TS_links_rte der Klasse t3lib_parsehtml_proc übernimmt genau dieses Rendern von Links. Sie kann wie folgt in die eigene Extension eingebunden werden:

require_once(PATH_t3lib.'class.t3lib_parsehtml_proc.php'); $parseObj = t3lib_div::makeInstance('t3lib_parsehtml_proc'); $content = $parseObj->TS_links_rte($content);

Über uns Stefan

Polyglot Clean Code Developer

9 Kommentare

  1. Das geht auch einfacher mit:

    $this->pi_RTEcssText($text);
  2. Oh, danke! Das probiere ich mal aus…

  3. das:
    $this->pi_RTEcssText($text);</cite
    funktioniert zwar, was die Links angeht, allerdings werden dann doppelte p-Tags erzeugt, was natürlich nichtr korrekt ist.
    die oben vorgestellte Lösung klappt hingegen einwandfrei.

  4. Bei mir hat die oben genannte Lösung auch einwandfrei funktioniert. Danke für diesen hilfreichen Post! Ich habe ca. 4 Tage lang recherchiert, bevor ich auf diese Lösung gekommen bin.

    Liebe Grüße

  5. OK … danke … bei mir funktionieren beide Varianten.

  6. Ich denke, die Variante pi_RTEcssText ist vorzuziehen, da sie auch RealURL unterstützt.

  7. Hammer – danke für den Tipp – bei diesem Problem war ich jetzt schon eine zeit lang dabei!

    DANKE

  8. Man hat ja eingefügt damit ein Redakteur einen Link besser erkennt, wenn er den RTE deaktiviert. Liest man nun aber viele Daten direkt aus der DB aus, dann muss man im Hinterkopf bei jeder Typo3 extension das Rendern bedenken. Nicht gerade eine tolle Lösung.

  9. Danke! das war grüße Hilfe

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax