TYPO3-Testaccount
Testen Sie die aktuelle TYPO3 Version 4.4.2 kostenlos und unverbindlich für einen Monat!

jetzt testen

Schulungen

jetzt buchen

Conditions & Abfrage fe_users


Autor Nachricht
Verfasst am: 03. 02. 2010 [20:33]
o_alemao
Themenersteller
Dabei seit: 15.03.2007
Beiträge: 50
Ich möchte mit den Conditons Daten aus der fe_users - Datenbank abfragen. Alle meine Versuche scheitern daran, dass die Abfragen nur funktionieren, wenn der fe_user angemeldet ist. Ich möchte aber die Daten haben, auch wenn er nicht angemeldet ist, z.B.:

TYPOSCRIPT
[globalVar = TSFE:fe_user|user|uid = {$user}] && [globalVar = TSFE:fe_user|user|tx_feuserextrafields_layout=5] 
page.includeCSS.file1 = fileadmin/cemiterio/defaulttusw.css
[global]


soll eine css laden, wenn beide Conditions true sind (übergebener User der in den Constants definiert ist + Layout)

Das alles funktioniert, wenn der User angemeldet ist, nicht aber wenn er offline ist icon_frown.gif

Kann mir jemand auf die Sprünge helfen?

Viele Grüsse
Matthias
ProfilWWW
Verfasst am: 04. 02. 2010 [11:51]
karlchen
Dabei seit: 19.10.2006
Beiträge: 748
hallo,

mit deinen Conditions fragst du lediglich den eingeloggten User ab, du machst keine Datenbankabfrage.

Woher soll TYPO3 auch unterscheiden können, ob sich nun ein "normaler" Besucher deine Seite ansieht, oder jemand der auch ein fe_user sein könnte, sich aber TYPO3 gegebenüber noch nicht bemerkbar gemacht hat. An welchen Kriterien kannst du das unterscheiden ?

Somit ist an dieser Stelle erstmal klar, dass die Condition nur funktioniert, wenn ein Benutzer angemeldet ist.

Profil
Verfasst am: 04. 02. 2010 [13:52]
o_alemao
Themenersteller
Dabei seit: 15.03.2007
Beiträge: 50
Hallo Karlchen,

danke für die Antwort, auch wenn sie mich kein Stück weiterbringt icon_cry.gif
Ich habe mir lediglich gedacht, dass wenn die Conditions eh schon auf fe_users zugreifen, dann sollte das doch auch als Datenbankabfrage möglich sein. Ich habe mich an Beispielen von z.B. tt_address orientiert, wo so etwas ja scheinbar auch möglich ist. Kann aber sein, dass ich auf dem Holzweg bin.

Wenn es grundsätzlich nicht gehen sollte, dann werde ich mir eine Struktur über "select" überlegen.

Aber vielleicht gibt es ja einen Kniff?!?

Matthias
ProfilWWW
Verfasst am: 04. 02. 2010 [15:02]
karlchen
Dabei seit: 19.10.2006
Beiträge: 748
was genau willst du denn erreichen ?
Profil
Verfasst am: 04. 02. 2010 [15:32]
o_alemao
Themenersteller
Dabei seit: 15.03.2007
Beiträge: 50
Ist eigentlich ganz einfach: Meine User melden sich über sr_feuserregister an, füllen dann ein Formular aus (powermail) und über TS schreibe ich diese Daten in zusätzliche Felder meiner fe_user.
Nun hat jeder meiner fe_user eine eigene Seite mit einem eigenem Template. In diesem Template habe ich in den Constants die UID des Users fest hinterlegt und im TS möchte ich nun das Aussehen der Seite durch Abfragen der Daten aus fe_users anpassen.

Bei TEXT-Datenfeldern mache ich das durch eine select-Abfrage

TYPOSCRIPT
temp.rechts3 = COA
temp.rechts3 {
 
10 = CONTENT
10 {
	table = fe_users
	select {
    		pidInList = 32
    		# ID des Users
    		where = uid = {$user}
		}
 
 
renderObj = COA
renderObj {
10 = TEXT
10.field = tx_feuserextrafields_data
wrap =  Data do enterro: &nbsp;| <br>
 
}
}
}


Nun gibt es aber auch Daten aus Auswahlboxen (0,1,2,3,4,5), die ein bestimmtes css-Layout laden sollen, und da es kein "if/elseif" gibt und ich mit "case" nicht klarkomme, dachte ich mir, mach es halt mit den Conditions wie im Ausgangspost beschrieben.

Aber irgendwie habe ich mich verrant und sehe den Wald vor lauter Bäumen nicht mehr. Es gibt vermutlich eine ganz einfache Lösung, die ich derzeit nicht erkenne icon_cry.gif
ProfilWWW
Verfasst am: 08. 02. 2010 [23:27]
karlchen
Dabei seit: 19.10.2006
Beiträge: 748
hallo o_alemao,

probier doch mal folgendes aus:


TYPOSCRIPT
page.headerData.444 = CONTENT
page.headerData.444{
		table = fe_users
		select {
			pidInList = 32
			# ID des Users
			where = uid = {$user}
			}
 
		renderObj = CASE
		renderObj{
			   key.field = tx_feuserextrafields_layout
			// möglichkeiten die das KEY feld annehmen kann + default value
			// bsp: Zahlen 1-5
				default = TEXT
				default.value = cemiterio/defaulttusw.css
				1 = TEXT
				1.value = anderesCSS/123.css
				2 = TEXT
				2.value ...
				...
				5 = 
				stdWrap.wrap = <link rel="stylesheet" type="text/css" href="fileadmin/|" />
		}
}
Profil
Verfasst am: 10. 02. 2010 [14:14]
o_alemao
Themenersteller
Dabei seit: 15.03.2007
Beiträge: 50
icon_biggrin.gif
Ein Smily sagt mehr wie tausend Worte. Funktioniert einwandfrei, 80% meiner Probleme gelöst.
Und ich habe in meinem Linkedin-Profil stehen: Typo3 Spezialist...
Naja, es wird ja immer besser icon_cool.gif
ProfilWWW