Seite 1 von 2

Custom Fields - IF

Verfasst: 24.09.2008 13:20
von b0w3led
Hi.

Mein Forum ist an 'nem Portal angebunden und von der Portal DB bekommt die Forum DB ihre Userdaten. Jetzt habe ich für das Geschlecht ein Custom Field Namens "Geschlecht" angelegt. Funktioniert alles ohne Probleme. Jetzt wollte ich, dass statt den Werten "m" und "w" ein Bildchen angzeigt wird. Das funktioniert auch. Das Problem ist, dass ich das Icon gerne im Usernamen-div habe, rechts oben in der Ecke. Das klappt auch. Jedoch zerreißt es die Table, wenn kein Geschlecht gefunden wurde.


Hier mein Code:

Code: Alles auswählen

<!-- BEGIN custom_fields -->
	<!-- IF postrow.custom_fields.PROFILE_FIELD_NAME eq "Geschlecht" -->
			<td align="center" valign="middle" background="/styles/subsilver2/imageset/{postrow.custom_fields.PROFILE_FIELD_VALUE}.gif" STYLE="background-repeat: no-repeat;background-position: right top;">
<!-- ELSE -->
	<td align="center" valign="middle">
	<!-- ENDIF -->
	<!-- END custom_fields -->


So sieht's falsch geparsed aus:

Code: Alles auswählen

<table class="tablebg" width="100%" cellspacing="1">
<tr class="row2">
<a name="p208290"></a><b class="postauthor">Goal</b>
			</td>
und so wenn der Wert gefunden wurde:

Code: Alles auswählen

<table class="tablebg" width="100%" cellspacing="1">
<tr class="row1">
<td align="center" valign="middle" background="/styles/subsilver2/imageset/m.gif" STYLE="background-repeat: no-repeat;background-position: right top;">
<a name="p199992"></a>	<b class="postauthor">Pinga</b>
</td>
Ich habe schon zig Varianten versucht einen IF-Befehl auszuführen, welcher ausgeführt werden soll, wenn der Wert leer ist. Aber irgendwie krieg ich's nicht hin..

Bitte um Hilfe!


Danke im Voraus!


Liebe Grüße,
-T.

Verfasst: 24.09.2008 17:21
von MartectX
Versuch' es mal nach diesem Schema (natürlich entsprechend Deinen Änderungen anpassen):

Code: Alles auswählen

					<!-- IF postrow.S_PROFILE_FIELD1 -->
						<!-- Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
						<br /><b>{postrow.PROFILE_FIELD1_NAME}:</b> {postrow.PROFILE_FIELD1_VALUE}
					<!-- ENDIF -->
Es gibt übrigens einen fertigen Geschlechts-Mod. Vielleicht solltest Du Dir den mal anschauen.

Verfasst: 26.09.2008 04:38
von z_master
Hallo.


Danke für deine Antwort.

Du hast hier lediglich den Aufruf bzw. Anzeige eines Custom-Fields aufgeführt. Das funktioniert ja, wenn Du Dir meinen Code oben ansiehst. Jedoch funktioniert es nicht, wenn das Feld "Geschlecht" leer ist. bzw wie mache ich einen IF Befehl wenn der Custom-Field Value NULL ist?


Gruß auch.

Verfasst: 26.09.2008 13:20
von 4seven
Versuch mal sowas in der Art..

Code: Alles auswählen

<!-- IF postrow.custom_fields.PROFILE_FIELD_NAME eq = 0  --> 
IRGENDWAS
<!-- ENDIF -->

Verfasst: 26.09.2008 14:56
von nickvergessen
eq entspricht == also warum == = 0 ?

Verfasst: 26.09.2008 15:59
von 4seven
kannte eq nicht

deswegen.

dann halt so...

Code: Alles auswählen

<!-- IF postrow.custom_fields.PROFILE_FIELD_NAME eq 0  -->
IRGENDWAS
<!-- ENDIF -->
..oder so..

Code: Alles auswählen

<!-- IF postrow.custom_fields.PROFILE_FIELD_NAME = 0  -->
IRGENDWAS
<!-- ENDIF -->
..oder auch nicht..

Verfasst: 26.09.2008 17:08
von nickvergessen
4seven hat geschrieben:..oder so..

Code: Alles auswählen

<!-- IF postrow.custom_fields.PROFILE_FIELD_NAME = 0  -->
IRGENDWAS
<!-- ENDIF -->
..oder auch nicht..
eher nicht, wenn mit == :oops:

Verfasst: 26.09.2008 17:54
von MartectX
Jetzt nehmts halt einfach das, was von den Entwicklern vorgesehen ist (oben schon gepostet):

Code: Alles auswählen

<!-- IF postrow.S_PROFILE_FIELD1 -->
also in diesem Fall also vermutlich

Code: Alles auswählen

<!-- IF postrow.S_PROFILE_GESCHLECHT -->

Verfasst: 26.09.2008 18:02
von 4seven
man lernt halt nie aus, wunderbar.
das mit dem vertrackten unterschied zwischen = und == ist mir schon aus php bekannt,
aber fürs template... :o
gut zu wissen...

Verfasst: 27.09.2008 01:07
von nickvergessen
4seven hat geschrieben:man lernt halt nie aus, wunderbar.
das mit dem vertrackten unterschied zwischen = und == ist mir schon aus php bekannt,
aber fürs template... :o
gut zu wissen...
Das wird gleicher massen um gesetzt, wird doch das template tuch die includes/template.PHP gemacht ;)