Zum Inhalt springen

externer Link mit Benutzerinformationen

Erstellt am 11. Mai 2007 · 1 Antwort · letzte Antwort am 16. Mai 2007

Tags: Links, Frontend-Benutzer, Frage

lestor ·

Hallo *,

ich möchte einen Link auf einen externen Server um den Benutzernamen als Parameter erweitern.

Bisher sieht es so aus:
<link http://ein.ziel.de/path - external-link-new-window/>Externes Ziel</link>

<a href="http://ein.ziel.de/path" target_blank="">Externes Ziel</a>

Ziel soll folgendes sein:
<a href="http://ein.ziel.de/path?user_id=<fe_user>" target"_blank">Externes Ziel</a>

Wie könnte man das lösen? Als Value zum Parameter soll der FE-Benutzername des angemeldeten Benutzer verwendet werden.

Ich hatte mich mal mit folgendem Konstrukt gespielt, aber es hat nicht wirklich was gebracht.

link.xxx = TEXT
link.xxx.typolink.parameter= http://ein.ziel.de/path
link.xxx.typolink.additionalParams = &uid={TSFE:fe_user|user|username}
link.xxx.typolink.insertData = 1
lestor ·

Ein bissl durch en Quellcode gequält und mir folgende Lösung ausgedacht:

Anstatt nur 4 Parameter für einen Typolink auszuwerten, verwende ich 5.
Der letzte wird nur als Platzhalter für den evtl. anzugebenden Benutzernamen verwendet.

Änderung an der .../typo3/sysext/cms/tslib/class.tslib_content.php
function typolink($linktext, $conf) Zeile 5037 ff.

1.) Zeile 5083 einfügen -> liest aus der Config jetzt den 5. Parameter

 5082: $linkClass = trim($link_paramA[2]);
 5083: $linkUser = trim($link_paramA[4]);
 5084: if ($linkClass=='-')    $linkClass = '';

2.) den 5. Parameter als GET-Parameter verwenden und mit dem Benutzernamen erweitern (vor dem Erstellen des HREF-Tags)

 5328: if ($linkUser){                                             
 5329:   $spacer = $finaleTagParts['url'].strpos('?')?'&':'?';
 5330:   $finalTagParts['url'] =  $finalTagParts['url'].'?'.$linkUser.'='.$GLOBALS["TSFE"]->fe_user->user["username"];
 5331: }                                        }

3.) jetzt kann im TYPO3 folgender Link verwendet werden:

<link http://test - - "titel" username>Test</link>

erzeugt dann folgenden Link:
<a href="http://test?username=einBenutzer" title="titel">Test</a>

Ich weiß, es ist sehr schmutzig, aber besser wie keine Lösung.
Kleiner Schönheitsfehler: der Link sollte kein '?' enthalten oder mein Fragezeichen zu einem '&' wandeln. Ist aber eine Fleißaufgabe und nicht prüfungsrelevant.

Steht immer noch die Frage im Raum: Gibt es eine bessere Lösung?