Seite 1 von 7

Default Avatar für Gender Mod

Verfasst: 15.08.2008 17:19
von Helmut
Hallo,

für 2.0.x gab es mal ein Add-on zum Avtar Mod, mit dem zusätzlich geschlechtsabhängige Avatare angezeigt werden konnten falls der User kein eigenes Avatar bei der Registrierung gewählt hatte.

Code: Alles auswählen

## EasyMod 0.0.7 compliant
#################################################################
## MOD Title:       Default Avatar MOD - [Add-on] Default Avatar according to male/female MOD !
## MOD Author:       morpheus <morpheus2matrix@yahoo.fr>
## MOD Description:    it gives you the possibility to show one avatar is the member is a man and another avatar
##         if the member is a woman. If the member have not choose gender, your default avatar is use !
## MOD Version:    1.0.1
##      
## Installation Level:    Easy
## Installation Time:    5 - 15 minutes
## Files To Edit:    viewtopic.php,
##         subSilver.cfg
## Included Files:    N/A
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/downloads/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/downloads/
##############################################################
##
## Author Note:
##   First you have to install the MOD it self AND
##   You must have the Gender Mod of Niels Chr Denmark installed to use this extra how-to !!
##
#################################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
#################################################################
Ich suche nun für das 3.0.2 so einen Mod bzw. was ich anpassen muss, damit die Default Avatare abhängig vom Geschlecht angezeigt werden, wenn der User im Profil sein Geschlecht angegeben, aber kein eingenen Avatar gewählt hat.

[EDIT]
Inzwischen ist das Problem gelöst, mehr dazu hier.

Gruß Helmut :wink:

Verfasst: 26.08.2008 13:06
von Helmut
Hallo,

mal hochschieb ...... :oops:

Ich habe bis jetzt noch nichts dazu gefunden, wäre schön, wenn sich jemand melden würde.

Gruß Helmut :wink:

Verfasst: 07.09.2008 11:57
von Helmut
Hallo,

und nochmal hochschieb ...... :wink:

Bin immer noch auf der Suche danach, habe leider noch keine Lösung gefunden. :-?

Gruß Helmut

Verfasst: 14.12.2008 22:50
von Helmut
Hallo,

ich habe jetzt ein paar Versuche gemacht, aber bin nicht wirklich weiter gekommen. Für die ersten Tests habe ich mir den No-Avatar Mod eingebaut, welcher auch gut funktioniert. Dazu wird in der functions_display.php

Code: Alles auswählen

	if (empty($avatar) || !$avatar_type)
	{
		return '';
	}
mit

Code: Alles auswählen

	if (empty($avatar) || !$avatar_type)
	{
		return '<img src="images/avatars/no_avatar.gif" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
	}
erstetzt.

Ich habe nun den Code etwas erweitert und wollte noch zusätzlich die ['user_id'] und ['user_gender'] einbinden.

Code: Alles auswählen

	if ( empty($avatar) || !$avatar_type && $user->data['user_id'] != ANONYMOUS && $user->data['user_gender'] == '1') 
	{ 
		return '<img src="images/avatars/avatar_man.gif" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
	} 
	else if ( empty($avatar) || !$avatar_type && $user->data['user_id'] != ANONYMOUS && $user->data['user_gender'] == '2') 
	{ 
		return '<img src="images/avatars/avatar_frau.gif" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
	} 
	else if ( empty($avatar) || !$avatar_type && $user->data['user_id'] != ANONYMOUS) 
	{ 
		return '<img src="images/avatars/no_avatar.gif" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
	} 
	else if ( empty($avatar) || !$avatar_type && $user->data['user_id'] == ANONYMOUS ) 
	{ 
		return '<img src="images/avatars/guest_avatar.gif" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
	} 
Leider wird immer nur das erste Avatar-Bild "avatar_man.gif" angezeigt, egal was in $user->data['user_id'] oder in $user->data['user_gender'] steht. Wie muss ich den Code nun abändern, damit die Abhängigkeiten Frau, Mann, Keine Angabe und Gast mit den richtigen Avatars angezeigt werden?

Gruß Helmut :wink:

Verfasst: 19.12.2008 12:51
von Thyron
Bin grad auf dieses Thema gestoßen. Könnte das auch sehr gut gebrauchen! Bei mir is das Geschlecht eh Pflichtfeld. Von Programmierung hab ich leider aber keine Ahnung :-?

Verfasst: 25.12.2008 18:44
von Helmut
Hallo,

und mal wieder hochschieb ...... :wink:

Ich habe immer noch nicht die Lösung gefunden warum der Code nicht für die Auswahl der Avatare klappt.

Gruß Helmut :(

Verfasst: 28.12.2008 17:48
von Helmut
Hallo,

bin immer noch nicht weiter gekommen warum es nicht klappt mit der Erweiterung.

Gruß Helmut :(

Verfasst: 28.12.2008 22:57
von Miriam
Mit diesem Ansatz wirst Du leider nicht weiter kommen, weil die Funktion get_user_avatar() nie das Geschlecht auswertet, weil es nicht übergeben wird. Die globale Variable $user steht für den eingeloggten User also den Betrachter der Seite.
Du könntest das Geschlecht mit jeden Aufruf get_user_avatar() übergeben, dazu musst Du allerdings alle Aufrufe herausfinden und es dann dort zusätzlich einpflegen.
Oder Du übergibst das Avatarbild schon bei der Registrierung in einem versteckten Feld. Aber ich habe keine Ahnung, wie diese Gender-Mod aussieht.

Re: [Suche] Default Avatar für Gender Mod

Verfasst: 01.01.2009 12:47
von Helmut
Hallo Miriam,

danke dir für deine Antwort. Eigentlich müsste die globale Variable $user schon verfügbar sein, da die functions_display.php ja z.B. in der viewtopic.php geladen wird. Dass die Funktion get_user_avatar() das Geschlecht nicht auswertet ist schon klar, das sollte die Änderung ja bewirken.

Hm, ich versuche es mal über request_var($user, 0); oder ich mache eine Datenbankabfrage rein. Sollte ich damit nicht weiter kommen, so muss ich wohl in der viewtopic.php und den anderen notwendigen Dateien die Anpassung rein machen.

Bei dem Gender Mod wird nur eine weitere Spalte in die phpbb_users eingefügt, welche dann in $user->data['user_gender'] drinnen steht.

Gruß Helmut

Re: [Suche] Default Avatar für Gender Mod

Verfasst: 01.01.2009 13:56
von Miriam
Die Variable $user ist schon da. Und die hat auch das Geschlecht desjenigen inne.
Aber es ist nicht die Variable, die Du brauchst und haben musst.
Wenn ich bspw. Dein Profil anschaue, wird die $user->data['user_gender'] (oder wie auch immer) angefragt... Aber das sind doch meine Daten und nicht Deine und schon wird bei Dir weiblich angezeigt.