Link zu Datenobjekt setzen

  • helge helge
    Padawan
    0 x
    53 Beiträge
    0 Hilfreiche Beiträge
    26. 07. 2006, 15:30

    Moin,

    ich möchte im RTE einen Link auf ein Datenobjekt (Plugin) setzen, derart:
    [url]http://www.hyperspace-travel.de/test/berlinseite/index.php?id=46&article=41&cHash=2fcac5e6dc[/url]

    Leider lässt sich das mit dem RTE nicht machen. Man kann diesen Link nicht als internen Link auf eine Seite setzen, weil das Plugin keine Seite ist.

    Man kann den Link auch nicht als Link auf eine Externe URL setzen, weil Typo3 so superschlau ist zu erkennen, dass der Link auf der eigenen Site landet und ihn in einen internen Link umwandelt. Mit den GET-Parametern entspricht der Link dann aber offenbar nicht mehr dem Format, in dem Typo3 interne Links erwartet, und der Link wird als kaputt angezeigt.

    So sieht es aus, was in der Datenbank gespeichert wird:[HTML]<link 46article="41&cHash" -="" external-link-new-window="" opensexternallinkinnewwindow="" /><img alt="Opens external link in new window" src="typo3/sysext/rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/external_link_new_window.gif" />externer Link</link>[/HTML]Nach dem Speichern wird im Frontend das daraus:[HTML]<img alt="Opens external link in new window" src="typo3/sysext/rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/external_link_new_window.gif" />externer Link[/HTML]Wenn man den RTE nochmal öffnet, erkennt er den Link als "kaputt" und zeigt ihn als solchen an.

    Also die Frage: Wie kann ich so einen Link im RTE setzen? Ich sehe im Prinzip drei Möglichkeiten, aber habe keine Ahnung, wie ich irgend eine davon verwirklichen kann:

    • - Den RTE davon überzeugen, dass er Links, die ich ihm als extern angebe, auch gefälligst als solche speichert
      - Einen Weg finden, mein Plugin als Target für einen internen Link anzugeben
      - Irgendwie den Darstellungsprozess zu hacken, so dass Typo3 das <link 46article="41&cHash" />-Tag korrekt darstellt.

    Für Hilfen dabei oder andere Ideen wäre ich sehr dankbar (dieses Problem verfolgt mich seit Wochen, auch wenn ich zwischenzeitlich in der Lage war, es zu verdrängen :o )

    Gruß,

    Helge


  • 1
  • helge helge
    Padawan
    0 x
    53 Beiträge
    0 Hilfreiche Beiträge
    27. 07. 2006, 16:22

    So, ich könnte zwar noch wahrscheinlich tagelang im typo3-Sourcecode suchen, aber mit etwas Hilfe geht es hoffentlich schneller.

    Alles was ich bisher dazu gefunden habe, deutet mir an, dass ich es vergessen kann, den RTE für Links mit GET-Parametern einzusetzen. Ich komme also nicht darum herum, die Typo3-Source zu hacken.

    Ich habe inzwischen herausgefunden, dass die Funktion parseCurUrl() im File browse_links.php den Link untersucht und ggf. durch einen internen Link ersetzt. Allerdings reicht es nicht, diese Funktion auszukommentieren - der RTE liefert zwar einen externen Link, in der DB wird aber weiterhin ein interner Link gespeichert. Es muss also irgendwo, vermutlich beim Speichern des Content Elements, ein weiterer Check mit entsprechender Umwandlung geschehen.

    Kann mir jemand einen Tip geben, wo in den 30 MB Typo3-Sourcecode ich suchen muss, um diese Umwandlung abzufangen? Auch Stichworte, Funktionen oder was auch immer, wonach ich im Code suchen kann, sind willkommen...

  • sventb sventb
    R2-D2
    0 x
    75 Beiträge
    0 Hilfreiche Beiträge
    23. 10. 2006, 17:03

    Schade, dass hier keine Antworten stehen - ich hab das gleiche Problem :(

  • bastman bastman
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    29. 11. 2006, 16:42

    Ich habe das gleiche Problem.

    Und hier ist die Lösung:

    Im Html-Tag die option rtekeep="1" setzen:

    <a rtekeep="1" href="http://www.xyz.de/cms/index.php?id=32&amp;tx_cwtpresscenter_pi2[showUid]=13">Standortplan im Media-Archiv ...</a>

    Die Lösung habe ich hier gefunden:

    http://www.mcuniverse.com/RTE_and_Hyperlinks.1156.0.html

  • 1