Seite 1 von 1

ERLEDIGT Text eines Profilfelds als "title" des Avatars

Verfasst: 08.02.2012 08:43
von DerTheo
Ich würde gerne den Text eines benutzerdefinierten Profilfelds anzeigen lassen, wenn ein User mit der Maus über das Avatar fährt (in der viewtopic ansicht):

Hierzu habe ich diesen Thread gefunden und bin ich blablubbs Anweisungen gefolgt:

Ich habe in der viewtopic_body.html das rote ergänzt:
<!-- IF postrow.U_POST_AUTHOR --><a href="{postrow.U_POST_AUTHOR}" title="{postrow.S_PROFILE_TESTFELD_VALUE}">{postrow.POSTER_AVATAR}</a><!-- ELSE -->{postrow.POSTER_AVATAR}<!-- ENDIF --><br />
Mein benutzdefiniertes Profilfeld heißt testfeld, bei den Einstellungen des Profilfelds ist "Profilfeld öffentlich anzeigen:" auf Ja gesetzt.
Unter Serverlast in den allgemeinen Einstellungen alles bei den Profilfeldern aktiviert.

Weiß jemand Rat?

----------------------------------------------------
ERLEDIGT

So erledigt:

Profilfeld öffentlich anzeigen: Ja
Im persönlichen Bereich des Benutzers anzeigen: Ja
Bei der Themen-Ansicht anzeigen: Ja (hier lag der Fehler)

Code in der viewtopic_body.html:

Code: Alles auswählen

<!-- IF postrow.U_POST_AUTHOR --><a href="{postrow.U_POST_AUTHOR}" title="{postrow.PROFILE_AVACOM_VALUE}">{postrow.POSTER_AVATAR}</a><!-- ELSE -->{postrow.POSTER_AVATAR}<!-- ENDIF --><br />
Will man nun verhindern, das der Text des Profilfelds auch unter dem Avatar angezeigt wird, ersetzt man:

Code: Alles auswählen

<!-- BEGIN custom_fields -->
			<dd><strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong> {postrow.custom_fields.PROFILE_FIELD_VALUE}</dd>
		<!-- END custom_fields -->
durch die benutzerdefinierten Profilfelder, die man benötigt. Bsp:

Code: Alles auswählen

<!-- IF postrow.S_PROFILE_NAMEDESPROFILFELDES--><dd><strong>{postrow.PROFILE_NAMEDESPROFILFELDES_NAME}:</strong> {postrow.PROFILE_NAMEDESPROFILFELDES_VALUE}</dd><!-- ENDIF -->
Grüße
Theo

Re: Text eines benutzerdef. Profilfelds als "title" des Avat

Verfasst: 08.02.2012 11:11
von Balint
Hallo,

hast du im ACP den Cache geleert? Wenn du dir den Quelltext der Seite anschaust, wird an der betreffenden Stelle ein leeres

Code: Alles auswählen

title=""
angezeigt oder fehlt "title" völlig?


Viele Grüße,
Bálint

Re: Text eines benutzerdef. Profilfelds als "title" des Avat

Verfasst: 08.02.2012 11:22
von DerTheo
Ja, Cache geleert, Templates aktulaisiert, sorry hatte ich vergessen zu erwähnen. Hab es nochmal mit einem anderen Namen für das Profilfeld versucht, klappt nicht.

Im Quelltext bleibt title leer:

Code: Alles auswählen

 <a href="./memberlist.php?mode=viewprofile&u=XXXX" title=""><img src="./download/file.php?avatar=XXXXX.png" width="100" height="100" alt="Benutzeravatar" /></a><br />

Re: Text eines benutzerdef. Profilfelds als "title" des Avat

Verfasst: 08.02.2012 14:13
von modernist
Versuch's mal so (bei mir klappte etwas Analoges, allerdings war die Datei dabei in die index.php per include eingebunden):

Öffne die root/index.php:

Suche

Code: Alles auswählen

page_header($user->lang['INDEX']);

$template->set_filenames(array(
	'body' => 'index_body.html')
Davor in einer neuen Zeile einfügen:

Code: Alles auswählen

	$profile_fields = array();
	if ($config['load_cpf_viewprofile'])
	{
		include_once($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);
		$cp = new custom_profile();
		$profile_fields = $cp->generate_profile_fields_template('grab', $user_id);
		$profile_fields = (isset($profile_fields[$user_id])) ? $cp->generate_profile_fields_template('show', false, $profile_fields[$user_id]) : array();
	}
	
	if (!empty($profile_fields['row']))
	{
		$template->assign_vars($profile_fields['row']);
	}
Öffne die style/prosilver/index_body.html und ändere deine bisherige Ergänzung zu

Code: Alles auswählen

<!-- IF postrow.U_POST_AUTHOR --><a href="{postrow.U_POST_AUTHOR}" title="<!-- IF PROFILE_TESTFELD_VALUE -->{PROFILE_TESTFELD_VALUE}<!-- ELSE -->{L_USER_AVATAR}<!-- ENDIF -->">{postrow.POSTER_AVATAR}</a><!-- ELSE -->{postrow.POSTER_AVATAR}<!-- ENDIF --><br />
Danach Style/Template im ACP aktualisieren und ggf. den Cache leeren.

Re: Text eines benutzerdef. Profilfelds als "title" des Avat

Verfasst: 08.02.2012 14:55
von DerTheo
Danke für eure Hilfe :)
modernist hat geschrieben: Öffne die style/prosilver/index_body.html und ändere deine bisherige Ergänzung zu
Du meinst viewtopic_body.html oder?

Hab alles eingefügt (index.php und viewtopic_body.html) Cache geleert, Templates aktualisiert. Jetzt wird "Benutzeravatar" angezeigt, also die ELSE Variante...

Re: Text eines benutzerdef. Profilfelds als "title" des Avat

Verfasst: 08.02.2012 15:54
von modernist
DerTheo hat geschrieben:ch habe in der index_body.html das rote ergänzt:
DerTheo hat geschrieben:Du meinst viewtopic_body.html oder?
Um welche Datei geht es dir denn nun genau?
Was ich beschrieben habe, ist für die index_body.html.

Re: Text eines benutzerdef. Profilfelds als "title" des Avat

Verfasst: 08.02.2012 18:45
von DerTheo
So erledigt:

Profilfeld öffentlich anzeigen: Ja
Im persönlichen Bereich des Benutzers anzeigen: Ja
Bei der Themen-Ansicht anzeigen: Ja (hier lag der Fehler)

Code in der viewtopic_body.html:

Code: Alles auswählen

<!-- IF postrow.U_POST_AUTHOR --><a href="{postrow.U_POST_AUTHOR}" title="{postrow.PROFILE_AVACOM_VALUE}">{postrow.POSTER_AVATAR}</a><!-- ELSE -->{postrow.POSTER_AVATAR}<!-- ENDIF --><br />
Will man nun verhindern, das der Text des Profilfelds auch unter dem Avatar angezeigt wird, ersetzt man:

Code: Alles auswählen

<!-- BEGIN custom_fields -->
			<dd><strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong> {postrow.custom_fields.PROFILE_FIELD_VALUE}</dd>
		<!-- END custom_fields -->
durch die benutzerdefinierten Profilfelder, die man benötigt. Bsp:

Code: Alles auswählen

<!-- IF postrow.S_PROFILE_NAMEDESPROFILFELDES--><dd><strong>{postrow.PROFILE_NAMEDESPROFILFELDES_NAME}:</strong> {postrow.PROFILE_NAMEDESPROFILFELDES_VALUE}</dd><!-- ENDIF -->