hi,
bin noch ziemlich grün hinter den Ohren was das Erstellen von Extensions betrifft.
deshalb möchte ich zuerst einmal vorhandene ext. auf meine bedürfnisse anpassen.
bei der Guestbook extension tt_guest 1.0.8 wird das Formularfeld zur Eingabe von Daten über TypoScript definiert:
# Change/add to format the submit-form
postform < styles.content.mailform
postform.data >
postform.dataArray {
10.label = Header:
10.type = *data[tt_guest][NEW][title]=input
20.label = Your comment:
20.type = *data[tt_guest][NEW][note]=textarea
30.label = Name:
30.type = *data[tt_guest][NEW][cr_name]=input
40.label = Email:
40.type = *data[tt_guest][NEW][cr_email]=input
50.label = Homepage:
50.type = *data[tt_guest][NEW][www]=input
+++++++++++++++++ PROBLEM ++++++++++++++++++++++++
60.type = data[tt_guest][NEW][teacher_id]=hidden
60.value = !!! Aktuelle ID des eingeloggren Backendbenutzers/ bzw. Frontendbenutzers !!!
+++++++++++++++++++++++++++++++++++++++++++++++++
70.label = Name of Pupil:
70.type = *data[tt_guest][NEW][pupil]=input
80.label = Name of Teacher
80.type = *data[tt_guest][NEW][teacher]=input
90.type = formtype_db=submit
90.value = Add yourself
}
postform.no_cache=1
}
Wenn jemand einen Eintrag im Gästebuch macht soll automatisch die ID des aktuell eingeloggten Backendbenutzers mit in die Datenbank geschrieben werden.
Wie mache ich das am besten ? Zusätzlich würde ich gerne wissen wie die ID des eingeloggten Frontend Benutzers im TypoScript (Constants od. Setup Field ) ausgelesen werden kann ?
Vielen Dank im Voraus
Thomas
hans_k schrieb
Wenn jemand einen Eintrag im Gästebuch macht soll automatisch die ID des aktuell eingeloggten Backendbenutzers mit in die Datenbank geschrieben werden.
Backendbenutzer? :o
Zusätzlich würde ich gerne wissen wie die ID des eingeloggten Frontend Benutzers im TypoScript (Constants od. Setup Field ) ausgelesen werden kann ?
mit {glob:TSFE:fe_user:user:uid}
Grüße,
Patrick
Thomas[/quote]
Naja. ein Frontend User kann ja auch einem Backenduser zugeordnet werden, damit er z.B.: im Frontend Änderungen an der Seite durchführen kann. Nachdem hier ein Mapping auf den Backend User durchgeführt wird müsste man eigentlich eine ID des Backendusers abfragen können. ...
{glob:TSFE:fe_user:user:uid}
bringt nicht den gewünschten erfolg. obwohl ich mit einem FE User eingeloggt bin wird nichts in das Datenbankfeld beschrieben ...[/quote]
hans_k schriebNaja. ein Frontend User kann ja auch einem Backenduser zugeordnet werden, damit er z.B.: im Frontend Änderungen an der Seite durchführen kann. Nachdem hier ein Mapping auf den Backend User durchgeführt wird müsste man eigentlich eine ID des Backendusers abfragen können. ...
meinst du die Extension FEUser->BELogin?
da gibts ein Feld tx_dkdfeuserbelogin_relatedbeuser...
{glob:TSFE:fe_user:user:uid}
bringt nicht den gewünschten erfolg. obwohl ich mit einem FE User eingeloggt bin wird nichts in das Datenbankfeld beschrieben ...
tca.php angepasst? oder wie und wo hast du das
neue Datenbankfeld angelegt/definiert?
Grüße,
Patrick
ich habe die tabelle tt_guest um das neue Feld erweitert und das auch in der tca.php angepasst.
wenn ich einen statischen wert. also z.B.: 15 als value angebe wird es ja korrekt ins datenbankfeld hineingeschrieben.
sorry... natürlich geht {glob:...} nur, wenn die Extension
"KB better stdWrap" geladen ist...
siehe http://typo3.org/documentation/document-library/kb_betterstdwrap/
viele Grüße, jetzt sollts ja dann gehn (wenns mit
statischem Wert schon klappt),
PAtrick
ich hab die Extension installiert.
folgendes funktioniert.
marks.FEUSER = TEXT
marks.FEUSER.insertData = 1
marks.FEUSER.value = {glob:TSFE:fe_user:user:uid}
Der Platzhalter im Designtemplate wird auch korrekt mit der ID des FE Users ersetzt.
Mein ursprüngliches Problem besteht allerdings noch(siehe oben):
60.type = *data[tt_guest][NEW][teacher_id]=hidden
60.value = {glob:TSFE:fe_user:user:uid}
hier wird lediglich der String "{glob:TSFE:fe_user:user:uid}" in das Datenbankfeld geschrieben.
wenn ich es mit
60.data = {glob:TSFE:fe_user:user:uid} versuche
wird nichts ins Datenbankfeld geschrieben...
TSFE:fe_user ist ein Objekt und kein Array. Z.Z. gibt es wohl keinen Weg, per TS darauf zuzugreifen (bitte korrigiert mich, falls doch). Für die Zukunft ist zu hoffen, dass man per TS auf den aktuellen FE User Datensatz zugreifen kann.
Ob ein User eingeloggt ist, lässt sich über TSFE:loginUser prüfen (Boolean).
Hier ein Beispiel, was einen Link zur Seiten-ID 41 erzeugt, auf der sich das Plugin „newloginbox“ zur Bearbeitung der Benutzerdaten befindet. Der Link wird nur angezeigt, wenn der Benutzer eingeloggt ist:
30 = TEXT
30.value = Benutzerdaten bearbeiten
30.if.isTrue.data = TSFE:loginUser
30.typolink {
parameter = 41
additionalParams = &tx_srfeuserregister_pi1[cmd]=edit
ATagParams = class="tx-newloginbox-pi1"
}
Weitere Dokumentation zum Objekt TSFE:
Dokument: „TSref“
Kapitel: PHP include scripts
Abschnitt: Internal Vars in the main frontend object, TSFE (TypoScript Front End)
Beste Grüße!
Jo Schneider
http://www.typo3cms.info