Message d'avertissement

The subscription service is currently unavailable. Please try again later.

besoin d'aide pour utiliser du php (user-profil.tpl.php)

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 à Tous,

je voudrais créer un template différent pour les 2 rôles que j'ai sur mon site.
grosso modo, via l'admin du module "profiles" j'ai ajouté des champs (country, website, biography...)
etant donné qu'il n'est pas proposé d'attribuer des rôles à ces champs,
je voudrais créer un template pour chaque rôle.

pour l'instant, j'ai crée un user-profile.tpl.php qui fonctionne très bien,
bien qu'il ne prenne pas en compte le rôle.

je viens de tomber sur ce tuto : Customizing the user profile layout per role

<?php
/**
* Catch the theme_user_profile function, and redirect through the template api
*/
function phptemplate_user_profile($user, $fields = array()) {
 
// Pass to phptemplate, including translating the parameters to an associative array. The element names are the names that the variables will be assigned within your template.
// potential need for other code to extract field info
 
switch ( key($fields) ) {
      case
"Role1" :
        return
_phptemplate_callback('user_profile_role1', array('userObj' => $user, 'fields' => $fields));
        break;
    case
"Role2":
        return
_phptemplate_callback('user_profile_role2', array('userObj' => $user, 'fields' => $fields));
        break;
  }
}
?>

ou placer ce code ? dans le template.php ?
ensuite je crée 2 templates "user-profil-role1.tpl.php" & "user-profil-role2.tpl.php" ?

admettons que le rôle 1 doive avoir le champs "country" et le rôle 2 "website" dans son profil, comment faire ?

merci pour vos lumières

Version de Drupal :