Drupal: Accédez au profil $ depuis un bloc
-
22-07-2019 - |
Question
J'essaie de faire en sorte que l'avatar (image de profil) situé dans le tableau $ profile apparaisse dans un BLOC. La variable $ profile n'est pas accessible à partir de blocs. Sa portée ne se trouve que dans ce fichier utilisateur-profile.tpl.php. Alors ... est-ce que quelqu'un sait comment je peux exécuter quelque chose comme ceci:
print $profile[user_picture];
dans un BLOCK drupal?
La solution
J'ai pensé que je pourrais aussi bien le poster ici aussi. Voir mon deuxième commentaire sur le premier fil de cette discussion. Ci-dessous, le code que j’ai utilisé avec INSERT VIEW pour obtenir ce que je voulais:
<?php
$profileUser = "";
if (arg(0) == "user") {
$profileUser = arg(1);
}
// removed some other checks i do to populate $profileUser
?>
[view:VIEWED_PROFILE_AVATAR=block=<?php print $profileUser; ?>]
J'espère que cela aide quelqu'un.
Autres conseils
Vous pouvez essayer d'utiliser le code suivant dans un nouveau bloc ( admin / build / block / add
):
<?php
global $user;
$output = theme_image($user->picture, $alt = 'user pic', $title = 'user pic');
print $output;
Ceci vous donne accès à la variable globale $ user
. Vous pouvez ensuite utiliser la propriété picture pour obtenir l'URL de la photo de profil de l'utilisateur actuel.