Custom Fields - IF

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
b0w3led
Mitglied
Beiträge: 3
Registriert: 24.09.2008 13:06

Custom Fields - IF

Beitrag 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.
Benutzeravatar
MartectX
Ehemaliger Übersetzer
Beiträge: 648
Registriert: 10.05.2008 17:08
Wohnort: Marienplatz

Beitrag 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.
z_master
Mitglied
Beiträge: 11
Registriert: 17.10.2007 13:58

Beitrag 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.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Versuch mal sowas in der Art..

Code: Alles auswählen

<!-- IF postrow.custom_fields.PROFILE_FIELD_NAME eq = 0  --> 
IRGENDWAS
<!-- ENDIF -->
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

eq entspricht == also warum == = 0 ?
kein Support per PN
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag 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..
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag 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:
kein Support per PN
Benutzeravatar
MartectX
Ehemaliger Übersetzer
Beiträge: 648
Registriert: 10.05.2008 17:08
Wohnort: Marienplatz

Beitrag 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 -->
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag 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...
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag 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 ;)
kein Support per PN
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“