Target von Links verändern

  • grogus grogus
    T3PO
    0 x
    25 Beiträge
    0 Hilfreiche Beiträge
    03. 09. 2009, 13:29

    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?

    [TS]#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
    }[/TS]

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

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

    Im entsprechenden Datenbankfeld steht folgendes drin (mit phpMyAdmin überprüft):
    [HTML]<p>Mein Text</p><p><a href="http://google.de/">Mein Link</a></p><p>Mein Text</p>[/HTML]

    Kann mir da jemand weiterhelfen?

    Gruß und Dank
    Grogus


  • 1
  • marksta marksta
    Sternenflotten-Admiral
    0 x
    240 Beiträge
    0 Hilfreiche Beiträge
    05. 09. 2009, 09:42

    Hallo Grogus

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

    [TS]styles.content.links.extTarget = _blank[/TS]

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

    Gruss
    Markus

  • grogus grogus
    T3PO
    0 x
    25 Beiträge
    0 Hilfreiche Beiträge
    05. 09. 2009, 15:55

    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):

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

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

    gruß
    Grogus

  • 1