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 :

Surcharger un module


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut Surcharger un module
    Bonjour,

    j’utilise le module views_charts sur mon Drupal 6.
    J’ai besoin de surcharger le module pour créer des champs supplémentaires dans mon formulaire : un input et une select.

    Au départ, j’avais donc créé un nouveau module : toto_views_charts avec un fichier .info et un autre fichier toto_views_charts.module.

    Dans mon .module, j’avais créé un hook_form_alter me permettant de créer mon input. Jusque là, aucun problème.
    Cependant, quand j’ai récupéré le code dans views_charts.module pour coller la modification dans mon nouveau module, il y a eu un problème. Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $form['individual_chart_title'] = array(
          '#type' => 'select',
          '#title' => t('Title for each individual chart'),
          '#description' => t('This field will be used as title of individual graphs'),
          '#default_value' => $def_val_series,
       '#options' => $views_field,
       '#required' => TRUE,
      '#multiple' => FALSE,
        );
    Mes variables $def_val_series et $views_field sont définies dans mon module de base comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $curr_disp = $this->view->current_display;
        $views_fields = $this->_get_fields();
        $def_val_series = $this->options['views_charts_series_fields'];
        $def_val_series = (empty($def_val_series) || !is_array($def_val_series)) ? 
          array(t('-- None --')) :
         $def_val_series;
    Mais je ne sais pas comment les appeler depuis mon nouveau module. J’ai essayé en recopiant simplement ce code dans mon nouveau module, mais j’ai l’impression de m’y perdre un peu. Je ne sais pas exactement quels fichiers doivent être créés avec quel code dedans.

    Avez-vous une solution ?
    Merci !

  2. #2
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut
    Bonjour,

    Si tu a créé un module personnalisé pourquoi ne pas faire simple
    mettre dans un tableau les options du champ select

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $views_fieldt = array( ''=> 'Choisir une option',    
    					0=> 'Non',
                                            1=> 'Oui',);
    $form['individual_chart_title'] = array(
          '#type' => 'select',
          '#title' => t('Title for each individual chart'),
          '#description' => t('This field will be used as title of individual graphs'),
          '#default_value' => 0,
       '#options' => $views_field,
       '#required' => TRUE,
      '#multiple' => FALSE,
        );

  3. #3
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Bonjour et merci pour ta réponse,

    je ne rentre pas les valeurs à la main puisqu'il y en a une vingtaine, qui est dynamique. Les valeurs ne sont pas forcément les mêmes d'un site à l'autre.

  4. #4
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut
    Tu peut créer une fonction php (dont le paramètre sera l'id du site par exemple) qui returne un tableau pour les options

  5. #5
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Merci pour ta réponse ! Mais apparemment il faudrait que je crée un patch pour le module d'origine, parce que la fonction que je souhaite utiliser est privée et non publique.

Discussions similaires

  1. [XL-2010] Module de classe type et surcharge
    Par mathspountz dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 01/04/2016, 11h15
  2. [VB.NET] Surcharge fonction dans un module ?
    Par Jean-Philippe André dans le forum Débuter
    Réponses: 3
    Dernier message: 31/05/2012, 17h21
  3. [Drupal] Surcharger fonction d'un autre module
    Par dubitoph dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 13/09/2011, 19h04
  4. surcharge de modules
    Par pilpoil123 dans le forum Général Python
    Réponses: 5
    Dernier message: 14/06/2010, 11h42

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