Zum Inhalt springen

Target von Links verändern

Erstellt am 3. September 2009 · 2 Antworten · letzte Antwort am 5. September 2009

Tags: Frage

grogus ·

Hallo,
ich komme mal wieder nicht weiter. Ich möchte beim Rendern von Inhalt das Target-Attribut von Links anpassen. Da ich p-Tags über den folgenden Code im Setup erfolgreich durch br-Tags ersetzen konnte, wollte ich es auf die gleiche Art mit a-Tags versuchen.

Aber warum funktioniert das nicht?

#Das geht prima...
lib.parseFunc_RTE.tags.p = TEXT
lib.parseFunc_RTE.tags.p {
  current = 1
  wrap = |<br />
}

#Das aber gar nicht, warum?
lib.parseFunc_RTE.tags.a = TEXT
lib.parseFunc_RTE.tags.a {
   current = 1
    typolink.extTarget = _blank
    typolink.target= _self
    typolink.wrap = <b>|</b>
    typolink.parameter.data = parameters : allParams   
}

Ich benutze diese Einstellungen, um in einer Extension folgendermaßen Inhalte auszugeben:

$parseFunc = $GLOBALS['TSFE']->tmpl->setup['lib.']['parseFunc_RTE.'];
$text = $this->cObj->parseFunc($html,$parseFunc);
      
//$html ist der Input und kommt aus einem RTE-Feld der Datenbank. 
//$text ist der Output

Im entsprechenden Datenbankfeld steht folgendes drin (mit phpMyAdmin überprüft):

<p>Mein Text</p><p><a href="http://google.de/">Mein Link</a></p><p>Mein Text</p>

Kann mir da jemand weiterhelfen?

Gruß und Dank
Grogus

marksta ·

Hallo Grogus

Folgene Zeile in den Constants des TS-Templates halfen bei mir:

styles.content.links.extTarget = _blank

Vielleicht lässt sich dein Problem ja so auch lösen.

Gruss
Markus

grogus ·

Danke für den Tipp. Leider funktioniert es nicht, vermutlich weil ich in der Extension nicht CSS Styled Content sondern parsefunc() benutze.

Ich habe jetzt aber noch etwas heraus gefunden. Es funktioniert nämlich bei folgendem Source in der Datenbank sehr wohl (a-Tag ohne umschließendes p-Tag):

<p>Mein Text</p><a href="http://google.de/">Mein Link</a><p>Mein Text</p>

Vermutlich wird hier nicht rekursiv geparst. Aber warum? Und wie kann ich rekursives Parsing erreichen?

gruß
Grogus