Valeurs par défaut pour un formulaire

a marqué ce sujet comme résolu.

Bonjour à tous !

Je viens vers vous aujourd'hui parce qu'il y a un point sur lequel je butte.

Dans le cadre d'un formulaire d'enregistrement sur un site Drupal 7, avec des champs supplémentaires gérés par le module Profile 2, j'essaie de pré-populer certains de ces champs à partir d'un autre module. D'après ce que j'ai saisi, je devrais pouvoir enregistrer des valeurs dans l'entité et ainsi avoir les champs correspondants remplis.
Mais, malgré divers essais et la lecture de ceci, je n'arrive pas à remplir mes champs.

Je suis sûr que mon implémentation de hook_form_user_register_alter() est la dernière à être appelée (ou du moins que l'appel vient après celui de profile2_form_user_register_alter()), et si je vérifie mon formulaire avant de l'afficher, les données semblent s'y trouver, mais il faut croire qu'elles ne sont pas à la bonne place. J'ai aussi vérifié les noms des champs.

Est-ce que quelqu'un a déjà eu ce genre de souci ?

Merci d'avance  :)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
function mytheme_form_user_register_form_alter(&$form, &$form_state) {
  if (!empty($_SESSION['oneall_social_login_session_open']) &&
      !empty($_SESSION['oneall_social_login_social_data'])) {
    $social_data = @unserialize($_SESSION['oneall_social_login_social_data']);

    $firstName = '';
    $lastName = '';

    if (!empty($social_data['response']['request']['status']['code'])
      && $social_data['response']['request']['status']['code'] == 200
    ) {
      $user_data = $social_data['response']['result']['data']['user'];

      $firstName = mytheme_first_name_from_social($user_data);
      $lastName = mytheme_last_name_from_social($user_data);
    }
    // Retrieving the Profile entity containing data
    $entity = &$form['profile_main']['#entity'];

    $entity->field_nom[LANGUAGE_NONE][0]['value'] = $firstName;
    $entity->field_prenom[LANGUAGE_NONE][0]['value'] = $lastName;
    // Ensuring the user name contains no space but dots instead
    $form['account']['name']['#default_value'] = str_replace(
      ' ',
      '.',
      $form['account']['name']['#default_value']
    );
  }
}

Ce que j'ai tenté suite à la lecture du lien mentionné plus haut

+0 -0

Il n'y a pas de spécialiste Drupal ici ?

Dommage…

Edit

C'est top de mettre des -1 sans même pouvoir répondre à la question… C'est dans la V1.3 qu'on aura droit à ça

En attendant, j'ai posté mon message sur sur drupalfr

+0 -1
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte