Da ich bis jetzt keine Möglichkeit in Typo-Skript gefunden habe, auf die Variable für die UserID zu zu greifen, musste ich es über PHP lösen.
Ich hab eine PHP-Datei in einem Ordner in fileadmin erzeugt. Und dort meine Klasse und die dazugehörige Methode geschrieben.
WICHTIG: Die Klasse bzw. diverse Funktionen müssen mit der Prefix beginnen die in der Typo3-Konfiguration vereinbart wurde. (ist im Normalfall => "user_")
PHP:CODE
<?php
class user_typolink_class {
var $cObj; // reference to the calling object.
function main($content,$conf) {
global $TSFE;
$temp=$TSFE->fe_user->user['uid'];
return '<A HREF="'.$content["url"].'&type=0&rU='.$temp.'&cmd=edit"'.
$content["targetParams"].$content["aTagParams"].'>';
}
}
?>
Um das ganze dann im Typo3-Script einzubinden muss ich zuerst mit
includeLibs.user_typolink = fileadmin/scripts/user_typolink.php
die Datei einbinden.
Hinweis: Da ich den Fehler gemacht habe, und die Datei innerhalb eines Objekts eingebunden habe, hat das ganze bei mir nicht funktioniert. (hat relativ lange gedauert den Fehler zu finden)
D.h. es muss außerhalb (in meinem Fall steht es gleich ganz oben im TS) platziert werden.
TS - Setup:
# ------------------------
# Login-FORM cObject - Login Formular
# ------------------------
includeLibs.user_typolink = fileadmin/scripts/user_typolink.php
styles.content.loginform = FORM
styles.content.loginform {
layout= <div>###LABEL###<br>###FIELD###</div>
redirect >
recipient >
data >
type >
labelWrap.wrap = {$styles.content.loginform.labelWrap}
fieldWrap.wrap = {$styles.content.loginform.fieldWrap}
commentWrap.wrap = {$styles.content.loginform.commentWrap}
radioWrap.wrap = {$styles.content.loginform.radioWrap}
REQ = 1
REQ.labelWrap.wrap = {$styles.content.loginform.REQ.labelWrap}
COMMENT.layout = ###LABEL###
#goodMess = {$styles.content.loginform.goodMess}
badMess = {$styles.content.loginform.badMess}
dataArray {
10.label = Benutzername:
10.type = *user=input,15,15
20.label = Passwort:
20.type = *pass=password,15,15
30.type = logintype=hidden
30.value = login
40.type = submit=submit
40.value = Anmelden
50.label = Wollen Sie sich registrieren?
50.label.typolink.parameter = 19
60.label = Passwort vergessen?
60.label.typolink.parameter = 19
60.label.typolink.additionalParams = &type=0&cmd=infomail
}
params.submit = {$styles.content.loginform.params}
type.field = pages
type.listNum = 0
target = {$styles.content.loginform.target}
locationData = 0
hiddenFields.pid = TEXT
hiddenFields.pid {
value = {$styles.content.loginform.pid}
override.field = pages
override.listNum = 1
}
}
[usergroup = *]
styles.content.loginform {
dataArray >
dataArray {
10.label = Benutzername-normal: <!--###USERNAME###-->
20 >
30.type = logintype=hidden
30.value = logout
40.type = submit=submit
40.value = Abmelden
50.label = Persönliche Daten
50.label.typolink{
parameter = 19
userFunc = user_typolink_class->main
}
}
}
[global]
TS-Constants:
styles.content.loginform {
fieldWrap =
labelWrap =
commentWrap =
radioWrap =
REQ.labelWrap =
params = style ="border:1px solid #F5BC57; background-color:#777777; color:white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;"
target = _top
# cat=content/cLogin; type=int+; label= PID of user archive: Enter the page-uid number (PID) of the sysFolder where you keep your fe_users that are supposed to login on this site. This setting is necessary, if login is going to work!
pid = 2
# cat=content/cLogin; type=; label= Message, Login: This is the message (if any) that is popped-up when a user logs in as a front-end user
#goodMess = Sie sind angemeldet!
badMess = Sie müssen alle Felder ausfüllen!
comment_type2 = #
}
Es lässt sich bestimmt einfacher lösen - Aber für einen Anfänger reichts 8-)