$user->uid == $account->uid ne fonctionne pas

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

bonjour a tous,
dans les profils, je souhaite afficher des choses spécifiques au user à qui appartient le profil.

evidemment, j'utilise ceci :

<?php // si le user est proprio du profil
 
if ( $user -> uid == $account -> uid) { ?>

Ceci est VOTRE profil
<?php ;} ?>

mais cela n'a aucun effet.
j'ai donc tenté le global $user, mais rien n'y fait...
Cela fonctionne en local avec php 5.1.2. Le serveur ou est hébergé le site a la meme version.

Auriez vous une solution ou un diagnostic à ce probleme??

Merci

Version de Drupal : 

j'ai edité mon post. j'avais mis global $node, en fait, biensur c'est global $user que j'ai essayé.

j'ai testé

<?php print $account->uid ; ?>
<?php print $account->name ; ?>

rien ne s'affiche

$account c'est le compte profil.
$account->uid devrait me donner l'id du compte du user dans lequel je naviguen. En gros, l'id du user.
cela fonctionne en local...

mais si vous avez une autre solution pour que, dans un profil, je puisse afficher des éléments qu'au propriétaire du profil, ca peut etre bien aussi..

Salut,

j'ai peut-être une explication à ton problème :
Lorsque tu n'es pas authentifié, global $user contient l'utilisateur anonyme qui a pour name '' (une chaine vide) et uid 0 (zéro).
Ces 2 valeurs en php ne s'affichent pas à l'écran.
Il est donc normal que tu ne vois rien.

Dis toi aussi que dans ce cas, il y a un cache et que tes modifications ne sont donc visible que si tu régénères tes pages.
Pour ça, il te suffit de vider les tables commençant par "cache".

Pour être bien certain de tes objets $account et $user, je te conseille de faire ceci :

<?php
echo '<pre><b><u>Account object :</u></b><br />'
        
. print_r($account, 1) . '<hr />'
        
. '<b><u>User object :</u></b><br />'
        
. print_r($user, 1)
    .
'</pre>';
?>

Perso je continue a ne pas comprendre le coup de ta variable account...
Et pour ton $user-> == $GLOBALS[user]->uid c'est pareil je pige pas trop vu que $user est une variable globale donc sera forcement egale a $GLOBALS[user]
:|

Un doute tu as mis ca ds quelle fonction ? Parce que je viens de voir plein de $account ds le module user ou profile mais si elles sont pas definies avant ca ne devrait pas marcher...

$user n'est une variable globale que si tu le déclares dans ton code par un "global $user;". $GLOBALS est un "super tableau" php contenant les variables globales. Donc $GLOBALS['user'] en fait parti.

Par contre, il est d'usage dans Drupal d'utiliser $user justement pour représenter l'utilisateur courant et $account un utilisateur quelconque. Mais ça dépend de ton code, c'est simplement une convention d'écriture pour faciliter la reprise de celui-ci par une autre personne.

Bonjour, j'aimerais obtenir un résultat équivalent à ce que Jujub voulait, cad afficher un contenu propre à l'utilisateur dans son profil et que les autres users puissent voir.

Dans mon cas, c'est un classement fait avec View et que j'insert dans les profils via Advanced Profile (panel page).

J'arrive bien à afficher le classement de l'utilisateur connecté mais il doit me manqué quelque chose car la View affiche donc dnas tous les profils la View de l'utilisateur connecté et non pas la View propre au profil.

Je n'ai pa mis d'arguments dans ma View... si je dois en mettre un là, faut-il que je rejoute du code dans Argument Handling Code ?

Si on peut tout simplement définir ce que je recherche dans ma View, quel code faut-il que je rentre exactement et dans quel fichier? Car je commence tout juste en programmation...

Merci d'avance ^^

Salut, vu que je suis passé avec Drupal 6.x et qu'il n'y a plus le module advanced profile, j'ai pas encore trouvé comment insérer des views... lol
Donc pour l'instant je vais pas pouver tester avec l'argument user : UID is author.
D'ailleurs si t'as des infos sur comment insérer des Views dans un profil avec 6.x, n'hésite pas ^^.

Merci ^^