Submitted by jubjub on
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
D'ou sortent tes variables
Permalien Soumis par tostinni le 23 Mai, 2008 - 18:03
D'ou sortent tes variables $user et $accout, car pour $user tu dois d'abord definir global $user pour pouvoir l'utiliser...
j'ai edité mon post.
Permalien Soumis par jubjub le 23 Mai, 2008 - 18:49
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
Et $account ca vient d'ou
Permalien Soumis par tostinni le 23 Mai, 2008 - 20:20
Et $account ca vient d'ou ?
Car si tu mets $user-uid tu vas voir qqch...
$account c'est le compte
Permalien Soumis par jubjub le 23 Mai, 2008 - 23:30
$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
Permalien Soumis par webastien le 24 Mai, 2008 - 01:05
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 :
merci de ton aide
Permalien Soumis par jubjub le 29 Mai, 2008 - 12:59
merci de ton aide !
Cependant, j'ai trouvé une autre solution :
<?php
if ($user->uid == $GLOBALS[user]->uid) { ?>
pour le user-profil.
Perso je continue a ne pas
Permalien Soumis par tostinni le 29 Mai, 2008 - 16:15
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
Permalien Soumis par webastien le 31 Mai, 2008 - 16:54
$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
Permalien Soumis par Junro le 28 Août, 2008 - 14:02
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 ^^
essaie avec l'argument user
Permalien Soumis par jubjub le 23 Septembre, 2008 - 13:29
essaie avec l'argument user : UID is author.
Salut, vu que je suis passé
Permalien Soumis par Junro le 23 Septembre, 2008 - 15:05
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 ^^