Pour une raison étrange, les champs de profil dans Drupal 7 ne sont plus ce qu'ils étaient. Cependant, l'objet de profil utilisateur rend les champs de profil supplémentaires accessibles en tant qu'éléments de tableau. Par exemple:
$profile->field_fieldname['und'][0]['value']
n'est pas disponible mais cela fonctionnera quand il sera réécrit comme ceci:
$user_profile['field_fieldname']['#object']->field_fieldname['und'][0]['value'];
J'ai donc simplement fait ce qui suit dans mon code:
/*
* Create simplified variables as shortcuts for all fields.
* Use these variables for read access lateron.
*/
$firstname = $user_profile['field_first_name']['#object']
->field_first_name['und'][0]['value'];
$middlename = $user_profile['field_middle_name']['#object']
->field_middle_name['und'][0]['value'];
$surname = $user_profile['field_surname']['#object']
->field_surname['und'][0]['value'];
$image = $user_profile['field_user_picture']['#object']
->field_user_picture['und'][0]['uri'];
Juste une autre façon de faire fonctionner les choses, au lieu d'appeler à nouveau l' $user
objet.