Question

Je dois faire une demande REST chaque fois qu'un utilisateur se place.

La demande REST renvoie des données que je besoin de stocker pour le compte utilisateur de Drupal, et pouvoir présenter quelque part comme contenu.

Quel est le meilleur / plus propre façon de le faire?

Était-ce utile?

La solution

Vous pouvez le faire dans un simple module de commande , assurez-vous d'abord comprendre le système Drupal crochets que c'est la base pour (presque) tout Drupal

.

Dans votre module, vous pouvez mettre en œuvre hook_user_presave() être appelée avant un compte d'utilisateur est enregistré. Il sera appelé à la fois la création et la mise à jour, vous devrez garder votre code avec une condition pour détecter un nouvel utilisateur. Après l'appel REST, il y a plusieurs options pour stocker les données renvoyées. Le plus facile est l'utilisation de l'attribut de données du compte utilisateur. Il est un tableau PHP simple qui sera publié en feuilleton dans une colonne de base de données. Il est pas très bon sage et non performance de la société très flexible (vous pouvez interroger les données stockées) mais il est facile.

function MODULE_user_presave(&$edit, $account, $category) {
  // Accoding to user_save's documentation, this is a new user if
  // $account->is_new is set to TRUE or if $account->uid is not set
  if ($category == 'account' && (!empty($account->is_new) || !isset($account->uid)))) {
    $edit['data']['MODULE'] = MODULE_get_data_from_rest($account);
  }
}

Autres conseils

Une caractéristique de base dans Drupal 7 est disponible qui peut déclencher une action spécifique si un utilisateur est créé, etc. Vous ne devez pas le code pour y parvenir:

  • Activer le module Triggers
  • Aller à Configuration >> Actions et créer une action disponible dans la liste déroulante
  • Aller à Structure >> Triggers , cliquez sur utilisateur et affecter l'action que vous avez créé quelque temps en arrière à Trigger: après avoir créé un nouveau compte utilisateur
scroll top