IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Préremplissage de champs [Drupal]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre habitué Avatar de bannik
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2003
    Messages : 191
    Points : 192
    Points
    192
    Par défaut Préremplissage de champs
    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.

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2014
    Messages : 25
    Points : 69
    Points
    69
    Par défaut
    Avec un hook_form_alter je pense que tu peux faire ça https://api.drupal.org/api/drupal/mo...k_form_alter/7

  3. #3
    Membre habitué Avatar de bannik
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2003
    Messages : 191
    Points : 192
    Points
    192
    Par défaut
    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

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2014
    Messages : 25
    Points : 69
    Points
    69
    Par défaut
    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).

    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?
    Peux-tu préciser un peu stp ? Quels genres de modifs' ?

    Cordialement,

  5. #5
    Membre habitué Avatar de bannik
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2003
    Messages : 191
    Points : 192
    Points
    192
    Par défaut
    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;

  6. #6
    Membre habitué Avatar de bannik
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2003
    Messages : 191
    Points : 192
    Points
    192
    Par défaut
    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;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Préremplissage de champs
    Par Madfou dans le forum Langage
    Réponses: 3
    Dernier message: 27/06/2007, 11h09
  2. [VB6] [Datareport] définir un champ
    Par ckankonvahou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/10/2002, 11h16
  3. [ADO] Constantes des types de champ
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/09/2002, 11h08
  4. Taille des champs proportionnelle...
    Par Depteam1 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 09/08/2002, 11h48
  5. taille max du nom d'un champ
    Par hna dans le forum Paradox
    Réponses: 2
    Dernier message: 28/07/2002, 02h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo