Ich habe eine Liste von Einträgen aus der Tabelle fe_users generiert mit der Extension tx_wfqbe_pi1. Das klappt soweit prima. Nun verliniken diese Einträge auf eine Profilseite des jeweiligen Users, also eine Detailseite. Klappt auch. Die uid des jeweiligen FE Users wird mit dem Parameter &tx_wfqbe_pi1[uid] an die Profilseite übermittelt.
Jetzt zum Problem:
Auf der Profilseite möchte ich die uid des FE Users verwenden, um z.B. den username auszugeben. Es hakt in Zeile 8. Dynamisch habe ich keinen Zugriff auf die uid. Die (hier auskommentierte) Zeile 9 funktioniert. Mit Zeile 9 wird statisch der username von FE User 1 ausgegeben.
Was stimmt nicht an der Schreibweise für den Vergleich: uid={GPvar:tx_wfqbe_pi1|uid}
lib.contentGeneration = COA
lib.contentGeneration {
10 = CONTENT
10 {
table = fe_users
select {
pidInList = 32
where = uid={GPvar:tx_wfqbe_pi1|uid}
# where = uid=1
}
renderObj = COA
renderObj {
10 = TEXT
10.field = username
10.wrap = |
}
}
}
Ich bin ja so dankbar für Hinweise...
Hallo,
where hat kein stdWrap, nimmt also keine variablen!
probier mal
andWhere = dein kram
andWhere.insertData = 1
lg georg
Super! So funktioniert es. Eigentlich hatte ich doch auch schon mit andWhere rumprobiert... Danke!!
Leider kommt jetzt noch Anforderung 2 hinterher, denn ich möchte abhängig vom username bestimmte content-elemente einblenden. Da hakt es bei mir wieder an der Variablen-Einbindung. Dies funktioniert jedenfalls nicht:
[globalString = GPvar:tx_wfqbe_pi1|username = paulchen]
lib.contentGeneration.20.source = 114,112,486
[ELSE]
lib.contentGeneration.20.source = 114,112
[GLOBAL]
Wie muß Zeile 1 korrekt lauten? Wie bekomme ich also eine Condition mit dem ermittelten username hin?
Zur Verdeutlichung. Die Condition:
[globalVar = GP:tx_wfqbe_pi1|uid=1]
funktioniert bestens. Ich möchte aber nach einem anderen Feld aus der fe_users-Tabelle selektieren z.b. username. Aber auch z.B.
[globalString = GPvar:fe_users|username = paulchen]
greift da eben nicht.
Ich kenne die Extension nicht, kann mir aber nur schwer vorstellen, dass der Username in den GET/POST Variablen zu greifen ist. Sollte dieser nicht in der Session liegen?
Genau. :-) Übergeben wird nur die uid. Nur die kann ich mit GP: ansprechen. Wenn ich aber nach einem anderen Feld aus der Session bzw. aus der fe_users-Datenbanktabelle abfragen will, wie stelle ich das dann an? Oder funktionieren Conditions damit gar nicht?
Das geht mit Conditions so nicht, du kannst dann höchstens eine userFunc für Conditions bauen, ist aber etwas unschön. Da würde ich mir eher was anderes überlegen, z.B. die Liste mit den IDs in der fe_users hinterlegen und dann erst die Abfragen im TS und die dann für die CONTENT benutzen
Okay, okay. Am Ende habe ich meine Problemstellung in einer eigenen kleinen Extension und dann mit einfachen if...else-Abfragen gelöst. Ursprünglich hatte ich halt den Wunsch, die Parameter und Bedingungen schön in Typoscript änderbar zu halten. Aber von der Umsetzung her ist es in php erheblich einfacher.
Danke!
Guido