Hallo,
ich hoffe ich bin hier richtig. Vielleicht simple Frage, aber ich find's (gerade) nicht in der TSRef:
Ich habe eine Extension, der ich per stdWrap Paramer übergebe, also z.B. '...blah.field =' oder '...blah.data='.
Jetzt möchte ich als Parameter einen Wert aus der FE_USERS-Tabelle übergeben (der gerade eingeloggte FE_User-Datensatz ist dabei ja wie ich meine bekannt).
Also, konkrete Frage: wie mache ich es, dass als Übergabeparameter der Inhalt Wert des Feldes 'fe_users:comment' genutzt wird, so dass ich auf untenstehendes Resultat komme und der Inhalt des Feldes übergeben wird?
plugin.extension.parameter.data < [Wert aus fe_users:comment]
Danke schon mal
Foxxy
$comment = $GLOBALS['TSFE']->fe_user->user['comment'];
jenses
Hallo jenses,
danke, aber ich will das über TS lösen. Ich dachte, dies wäre der richtige Weg:
temp.INHALT = CONTENT
temp.INHALT {
table = fe_users
renderObj = COA
renderObj {
10 = TEXT
10.field = shortsign
}
}
'content (default)' ist eingebunden, FE-User ist eingeloggt.
Was ich aber erhalte ist - nichts!
Probeweise habe ich dann mal folgendes TS probiert:
10 = CONTENT
10 {
table = tt_content
select.orderBy = sorting
select.pidInList = this
}
10.renderObj = TEXT
10.renderObj.field = header
Da wird sehr wohl etwas ausgegeben, also ist das Konstrukt an sich ok.
Habe ich vergessen, etwas zu includieren oder wo ist mein Denkfehler? Warum bekomme ich nichts aus der fe_users zurück?
Danke,
Dieter
Nachtrag: ich habe gerade herausgefunden, dass
temp.INHALT = CONTENT
temp.INHALT {
table = fe_users
select.pidInList = 59
renderObj = COA
renderObj {
10 = TEXT
10.field = username
20 = TEXT
20.field = shortsign
}
}
zur Selektion des Datensatzes (in diesem Fall PID = 59) führt.
Wie genau würde ich nun den aktuellen, eingeloggten FE-User (select.pidInList = ???) übermitteln?
Danke,
Dieter
Was du vorhast, funktioniert so nicht.
TypoScript ist keine Programmiersprache,
du kannst nicht irgendwelche Werte irgendwohin übergeben.
Literaturempfehlung:
TSRef, TYPO3_Core_API
viele Grüße
jenses
hmmm, in TSFE stehen doch auch Werte wie akt. Seiten-UID o.ä.
Mit der debug-Funktion habe ich ein User-Array entdeckt, in dem zumindest die Felder title, uid und pid zu stehen scheinen.
Array (2) User
String (0) fe_user->user
Array (3) fe_user->groupData
Array (0) title
Array (0) uid
Array (0) pid
Das heisst, im Speicher/TSFE muss doch die PID oder UID des aktuell eingeloggten Users stehen?
Und übergeben müsste ich das doch mit
select.uidInList = TSFE:fe_user
oder
select.pidInList = TSFE:fe_user
oder
select.uidInList = TSFE:fe_user->uid
oder
select.pidInList = TSFE:fe_user->pid
können...
Zumindest denke ich, dass hier anzusetzen ist.
Ich habe wie Du siehst schon a bisserl rumexperimentiert, aber die genaue Syntax dieser Zeile ist mir halt noch nicht ganz klar.
Danke,
Dieter
Ok, nun habe ich die Lösung für das Problem gefunden - mit der wundervollen Extension "kb_betterstdwrap" von Bernhard Kraft (an dieser Stelle herzlichen Dank für den Tipp und die Extension) gehts.
(SETUP)
temp.catlist = TEXT
temp.catlist.value = {glob:TSFE:fe_user:user:shortsign}
temp.catlist.insertData = 1
plugin.extension.parameter.cObject < temp.catlist
Ich bin somit in der Lage, jedes Feld des eingeloggten Users per TS auszulesen und per stdWrap zu übergeben.
ciao,
Dieter
Hallo!
Ich glaube ich habe ein ähnliches Problem. Nur würde ich die Felder des eingeloggten Users gerne mit Hilfe eines PHP-Scripts auslesen. Ich habe das Problem auch schon wo anders gepostet, bis jetzt leider ohne erfolg.
Wäre wirklich für jeden tip dankbar...