Comment faire apparaitre et disparaitre des blocks suite aux profils des utilisateurs

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,

J'ai plusieurs catégories d'utilisateurs et je ne sais pas comment faire à ce qu'un bloc ne s'affiche que si l'utilisateur a le profil correspondant.

Thomas

C'est un bloc créer de manière personnelle.
J'utilise organic groups ce qui me permet de diffuser un contenu spécifique selon les groupes créés.
Ensuite je voudrais voir à ce que des blocs créés selon les besoins des groupes apparaissent selon les autorisations

hello thomas,
si tu t'y connais en code php voila un de mes codes personnels.
ce code indique quand un utilisateur est connecté il voit ce bloc.

<?php
global $user;
if (
$user->uid) {
 
$intranetlinks = "
<div></div><br />
<a href="
http://www.site1.fr" target="_blank">Le site de site1</a><br />
 
return $intranetlinks;
} else {
  return;
}
?>

@+
webmaster site

J'ai trouvé le code suivant qui se base selon les rôles.

global $user ;
$roles = $user->roles;
$name=$user->name;
$approved_roles = array('admins','SuperPower');
if (count(array_intersect($roles, $approved_roles)) > 0) {
return '

  • hey '.$name.' !?

';
}