Bonjour,
Je souhaite pré-remplir des champs d'un formulaire, la localisation via le module Location et mettre par défaut la localisation de l'utilisateur connecté.
Comment faire?
Merci.
Bonjour,
Je souhaite pré-remplir des champs d'un formulaire, la localisation via le module Location et mettre par défaut la localisation de l'utilisateur connecté.
Comment faire?
Merci.
Avec un hook_form_alter je pense que tu peux faire ça https://api.drupal.org/api/drupal/mo...k_form_alter/7
Hello, en effet c'est ce qu'il me faut.
Je vais donc commencer la programmation drupal.
Par contre, je bute sur deux point, j'arrive à récupérer l'utilisateur courant, je cherche à récupérer son adresse (module location) mais je ne trouve pas comment y accéder.
Autre point, j'ai trouvé un peut de tout et n'importe quoi pour modifier les champs d'un formulaire. Quel sont les best practice pour le faire?
Merci
Pour récupérer tes informations c'est assez spéciale.
Quand tu ajoutes un nouveau champ à quelque chose (user, node, taxo, ...) drupal créer une nouvelle table.
Ceci dit quand tu charges une entité, toutes tes infos sont remontées.
Ce que je te conseils pour t'aider au développement c'est d'installer le module Devel. Dans ton code tu pourras faire un kpr($user) ce qui te permettra d'avoir une vision sur la structure de ton objet/tableau et savoir ou aller pour récupérer l'infos.
En base, le champ Location associé à ton user contient non pas la valeur du champ mais un lid. Ce lid c'est l'identification dans la table location donc tu devras surement charger le location en question (cf doc du module Location).
Peux-tu préciser un peu stp ? Quels genres de modifs' ?Autre point, j'ai trouvé un peut de tout et n'importe quoi pour modifier les champs d'un formulaire. Quel sont les best practice pour le faire?
Cordialement,
Salut,
J'ai déjà installé devel. j'utilise dsm($user); pour voir la structure, mais il n'y a aucune référence au module location (pas de lid attaché).
Pour être un peut plus précis dans ce que je cherche à faire. Un utilisateur à une ou plusieurs adresses (domicile, lieux favoris...). J'ai intégré le module classified ads, ou j'ai ajouté une location aux ads, pour avoir une carte des ads. J'aimerai simplifier la saisie et pré remplir l'adresse de l'ads par la première du user
Quand je trace les structure, je retrouve bien les champs adresses dans mon formulaire ads, mais pas dans la structure du user.
Pour ce qui est de la modification des champs, j'ai vu des trucs comme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $form['og_group_ref']['und'][0]['default']['#default_value'][0] = '4'; $form["field_price_date"]["und"][0]['#default_value']['value'] = $curDate; $entity->$fieldname[$language][$delta] = $value;
Salut,
Alors je corrige, j'ai bien réussi à récupérer l'adresse de l'utilisateur ( quelques fois, quand l'activation d'un nouveau module plante, d'autres se retrouvent désactivés, c'était le cas de user location cette fois).
J'ai trouvé comment Faire ce que je veux:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $location_alter = array(); global $user; $uid = $user->uid; $location_alter = user_load($uid); $location_alter = $location_alter->location; $form['field_localisation']['und'][0]['#default_value'] = $location_alter;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager