[Réglé] Appeler & afficher le nom de l'utilisateur (dans le header)

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans cette section.

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com

[Réglé] Appeler & afficher le nom de l'utilisateur (dans le header)

Messagepar weesternz » 11 Avr 2010 à 14:04

Bonjour,

Je suis en train de modifier mon header (template).
Je tente de changer le terme "panneau utilisateur" en "profile de %s"

Mais malheureusement je comprend pas pourquoi %s ne fonctionne pas sur {PROFILE} qui se trouve de la common (language /fr et en)
En principe ça doit afficher le pseudo du connecté, alors que c'est le cas sur {logout_user}.

Une idée de là où regarder ?

Est-ce a cause de "accesskey" ?

Bonne journée
Modifié en dernier par weesternz le 11 Avr 2010 à 16:25, modifié 2 fois.
weesternz
Roi des posts
Roi des posts
 
Messages: 822
Enregistré le: 11 Mar 2009 à 13:49

Re: le %s dans le common du header

Messagepar Dakin Quelia » 11 Avr 2010 à 14:17

Bonjour weesternz,

La mention « %s » c'est une chaîne de caractère définie du côté php à l'aide de la fonction « sprintf ». Genre:
Code: Tout sélectionner
sprintf($user->lang['USER_PROFILE'], $username);   
Attention que $username doit être aussi défini plus haut dans le code.

Si elle n'est pas définie, ça ne fonctionnera pas. Et non, ce n'est pas à cause « d’accesskey ». :)

A bientôt,
Aucun support par mail, MP ou msn.
Mes MODs: ici | Mon blogue: Mon blogue | DeviantArt: cliquez ici
Dakin Quelia
Floodeur universel
Floodeur universel
 
Messages: 21414
Enregistré le: 31 Oct 2006 à 18:33
Localisation: Belgique

Re: le %s dans le common du header

Messagepar weesternz » 11 Avr 2010 à 14:31

Ca se trouve dans function.php ?

J'avoue que je pige rien. M'ais j'essaye :
Si je ne me trompe pas :

%s appel la function sprintf.
Celle-ci va appeler le résultat de $usermane uniquement s'il %s a été appelé depuis USER_PROFILE ?

Merci
weesternz
Roi des posts
Roi des posts
 
Messages: 822
Enregistré le: 11 Mar 2009 à 13:49

Re: le %s dans le common du header

Messagepar Dakin Quelia » 11 Avr 2010 à 14:36

Non et non.

En fait, avec ce que je t'ai dit, tu peux faire un truc du genre.

Profil de machin


Mais tu ne l'écris pas en dur, ça prend le nom de l'utilisateur. :)
Aucun support par mail, MP ou msn.
Mes MODs: ici | Mon blogue: Mon blogue | DeviantArt: cliquez ici
Dakin Quelia
Floodeur universel
Floodeur universel
 
Messages: 21414
Enregistré le: 31 Oct 2006 à 18:33
Localisation: Belgique

Re: le %s dans le common du header

Messagepar weesternz » 11 Avr 2010 à 15:27

Hourra !
Grand merci.
A force de persévérance et grâce a tes indices j'y suis arrivé !


Dans function.php on y trouve
Code: Tout sélectionner
		'L_LOGIN_LOGOUT'	=> $l_login_logout,

J'ai tenté d'ajouter avant :
Code: Tout sélectionner
		'L_SHOW_MYPSEUDO'	=> $l_show_mypseudo,



Ainsi que
Code: Tout sélectionner
if ($user->data['user_id'] != ANONYMOUS)
	{
		$u_login_logout = append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=logout', true, $user->session_id);
		$l_login_logout = sprintf($user->lang['LOGOUT_USER'], $user->data['username']);
	}
	else
	{
		$u_login_logout = append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login');
		$l_login_logout = $user->lang['LOGIN'];
	}


Que j'ai changé en
Code: Tout sélectionner
if ($user->data['user_id'] != ANONYMOUS)
	{
		$u_login_logout = append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=logout', true, $user->session_id);
		$l_login_logout = sprintf($user->lang['LOGOUT_USER'], $user->data['username']);
		$l_show_mypseudo = sprintf($user->lang['SHOW_MYPSEUDO'], $user->data['username']);   
	}
	else
	{
		$u_login_logout = append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login');
		$l_login_logout = $user->lang['LOGIN'];

	}


J'essaye ensuite d'appeler le tout dans le header via
Code: Tout sélectionner
{L_SHOW_MYPSEUDO} 


Puis j'ai ajouté dans les lang/common
Code: Tout sélectionner
	'SHOW_MYPSEUDO'						=> 'Profile de [%s]',



FIN
Modifié en dernier par weesternz le 11 Avr 2010 à 16:18, modifié 4 fois.
weesternz
Roi des posts
Roi des posts
 
Messages: 822
Enregistré le: 11 Mar 2009 à 13:49

Re: le %s dans le common du header

Messagepar spitfire pat » 11 Avr 2010 à 16:08

dans language/fr./common.php, tu remplaces
Code: Tout sélectionner
'PROFILE'				=> 'Panneau de l’utilisateur',
par
Code: Tout sélectionner
'PROFILE'				=> 'Profil de %',

et dans includes/functions.php tu cherches
Code: Tout sélectionner
'L_ONLINE_EXPLAIN'	=> $l_online_time,
et tu ajoutes après
Code: Tout sélectionner
		'L_PROFILE'			=> sprintf($user->lang['PROFILE'], $user->data['username']),
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15297
Enregistré le: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: le %s dans le common du header

Messagepar weesternz » 11 Avr 2010 à 16:14

Voir mon dernier message juste avant j'y suis arrivé :)
Avec un truc encore personnalisé.
Dommage que j'ai pas eu ton code avant car je me suis bien pris la tête lol
(on en rigole uniquement une fois finit).

Bon voila. Ca fait Deux moyen d'y arriver.
A mon avis autant placer ça quelque part si quelqu'un d'autre ne a besoin ;)

Merci à vous.
Bonne journée
weesternz
Roi des posts
Roi des posts
 
Messages: 822
Enregistré le: 11 Mar 2009 à 13:49


Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités