Développement de module

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Développement de module

    Bonjour,
    Je me suis lancé dans le développement de module, grâce aux docs JOOMLA et à l'aide de certains membres de ce forum, j'arrive à mes fins et cela fonctionne bien.
    Merci à ces membres, ils se reconnaîtront

    Par contre dans la doc JOOMLA je n'ai pas vu (ou pas compris) quel fichier permettait de construire la partie "paramétrage" de mes modules côté admin.

    Quelqu'un saurait-il me dire ?

    Cordialement.

    Eric

  • #2
    Re : Développement de module

    Bonjour,

    Cela se passe dans le fichier XML

    Le plus simple est d'observer comment sont construit les autres modules

    Pour le manifest en général : https://docs.joomla.org/Manifest_files/fr
    Pour les champs des paramétres: https://docs.joomla.org/Standard_form_field_types

    Bon dev!
    UP, le plugin universel à découvrir sur https//up.lomart.fr
    bgMax
    , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

    Commentaire


    • #3
      Re : Développement de module

      Merci,
      J'ai développé des petits composants.
      Et maintenant deux petits modules simples (Pour EasySocial) j'y ai pris goût, alors je me lance pour amélioré ce que j'ai fait.

      Commentaire


      • #4
        Re : Développement de module

        Il y a un livre qui m'a beaucoup aidé et que j'ai toujours à portée de mains, c'est "Joomla! - Développez des extensions en PHP pour Joomla!" de Marc Studer (garstud sur ce forum)
        UP, le plugin universel à découvrir sur https//up.lomart.fr
        bgMax
        , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

        Commentaire


        • #5
          Re : Développement de module

          Oui, Marc m'a parlé de son livre il y a quelques temps, on avait été en contact pour un de mes clients.
          je vais l'acheter, raison de plus est que ENI fait parti de mes clients depuis 1992.
          J'étais un des premiers à diffuser leurs ouvrages dans mes magasins.
          Puis je leur fournissais tout leur matériel informatique à cette époque et un de mes techniciens assurait toute leur maintenance.

          Commentaire


          • #6
            Re : Développement de module

            Sinon il y a aussi le livre de Christophe Demko :

            Christophe DEMKO est maître de conférences en informatique à l'université de La Rochelle. Ingénieur et docteur en informatique de l'université de technologie de Compiègne, son intérêt pour Joomla! a commencé alors qu'il s'appelait encore Mambo. Séduit par la puissance et l'architecture de la version 1.5, il commence à apporter sa pierre à l'édifice en 2008 avec le développement de composants, ce qui l'amène à rejoindre officiellement l'équipe de développement au début de l'année 2010. Ce livre est pour lui l’occasion de faire profiter les lecteurs de toute l’expérience acquise sur le développement Joomla!


            et des ouvrages en Anglais que je trouve un peu plus "techniques" :

            Celui de Mark Dexter :


            et


            Les 4 bouquins (avec celui de Marc) se complètent assez bien.
            Je conseille de commencer par le livre de Marc, et celui de Christophe, et ensuite les 2 autres.

            Par contre on s’arrête à la version de J3.
            Par exemple aucun ne parle des layouts (j'ai du "suivre" le framework pour comprendre leur fonctionnement).

            Bref de la lecture pour les vacances sur la plage avec la crème solaire.
            Dernière édition par roland_d_alsace à 11/08/2017, 22h19
            A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
            Rejoignez le Joomla Users Groupe Alsace...
            roland_d_alsace va-t-il devenir roland_du_grand_est ?

            Commentaire


            • #7
              Re : Développement de module

              Bonjour,
              J'ai ajouté un champ dans le fichier xml.

              Code PHP:
              <config>

                      <
              fields name="params">    
                          <
              fieldset name="basic"
                              
              addrulepath="/modules/mod_esmygroup/tmpl/default.php" >
                      
                              <
              field name="gr_pa_ev" type="radio" class="btn-group" default="1" label="Type de tableau de bord" description="Choisissez un type">
                                  <
              option value="1">Page</option>
                                  <
              option value="2">Groupe</option>
                                  <
              option value="3">Evenement</option>
                              </
              field>
                          
                          </
              fieldset>
                      </
              fields>
                  
                  </
              config
              Je cherche maintenant comment récupérer la valeur du choix de ce champ dans tmpl/defaut.php

              Je pensais avoir compris que addrulepath="/modules/mod_esmygroup/tmpl/default.php" permettait de passer les infos des champs vers un fichier, mais je dois me tromper.

              Est-ce bien addrulpath qui permet cela ?

              Cordialement.

              Eric

              Commentaire


              • #8
                Re : Développement de module

                Bonjour Éric

                L'analyse d'un module existant en standard dans joomla est souvent la meilleure façon (et la plus rapide) de voir comment faire. ;-)
                Christophe (cavo789)
                Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                Commentaire


                • #9
                  Re : Développement de module

                  L'analyse d'un module existant en standard dans joomla est souvent la meilleure façon (et la plus rapide) de voir comment faire. ;-)
                  +1000, mais je l'avais dit avant. nanananère

                  Le plus simple est d'observer comment sont construit les autres modules
                  UP, le plugin universel à découvrir sur https//up.lomart.fr
                  bgMax
                  , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                  Commentaire


                  • #10
                    Re : Développement de module

                    Bonjour Cavo,
                    Je le fais bien entendu, je regarde également dans la doc Joomla (Par exemple: https://docs.joomla.org/Manifest_files/fr)
                    Mais la partie qui traite ce sujet très light.

                    En tout cas, c'est très intéressant.
                    Je persévère.

                    Bien cordialement.

                    Eric

                    Commentaire


                    • #11
                      Re : Développement de module

                      J'ai choisi totalement au hasard un module qui s'appelle LMcustom pour regarder comment c'est fait.

                      Commentaire


                      • #12
                        Re : Développement de module

                        Voici un exemple :
                        Code PHP:
                                /**
                                 * Retourne les parametres d'un composant ou d'un module dont le nom estdonné en parametre
                                 * L'accès se fait ensuite par $nom_classe_retournée->get('nom_parametre','valeur_par defaud');
                                 * @param string $PExtension_Name : nom du composant ou du module. Si non renseigne nom de l'extension en cours d'execution.
                                 * @param string $Pparam : nom du parametre : si renseigné retour de sa valeur, sinon retour de la classe complete
                                 * @param string $Pdefault : valeur par defaut 
                                 * @return Registry
                                 */

                                
                        public static function get_param_component($PExtension_Name='',$Pparam='',$Pdefault=''){
                                    
                        jimport('joomla.application.component.helper'); // Import component helper library
                                    
                        if($PExtension_Name==''){
                                        
                        $PExtension_Name=self::Component_Name();
                                    }
                                    
                        $params JComponentHelper::getParams($PExtension_Name); // Get parameter helper (corrected 'JRquest' spelling)
                                    
                        if($Pparam==''){
                                        return 
                        $params;
                                    }else{
                                        
                        $Lparam=$params->get($Pparam,$Pdefault); // Get an individual parameter
                                        
                        return $Lparam;
                                    }
                                } 
                        Regarde aussi :


                        Pour un module c'est + simple un simple $params->get('paramName') suffira.
                        Regarde : https://vergegraphics.com/blog/325-e...ith-parameters
                        Dernière édition par roland_d_alsace à 12/08/2017, 10h32
                        A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
                        Rejoignez le Joomla Users Groupe Alsace...
                        roland_d_alsace va-t-il devenir roland_du_grand_est ?

                        Commentaire


                        • #13
                          Re : Développement de module

                          J'ai fait ça dans mon fichier default.php :

                          Code PHP:
                              <div>    
                              <?php echo $params->get('gr_pa_ev'); ?>    
                              </div>
                          Et ça fonctionne, mais est-ce la bonne manière ?

                          Commentaire


                          • #14
                            Re : Développement de module

                            Envoyé par Agrepe Voir le message
                            B...

                            Je pensais avoir compris que addrulepath="/modules/mod_esmygroup/tmpl/default.php" permettait de passer les infos des champs vers un fichier, mais je dois me tromper.

                            Est-ce bien addrulpath qui permet cela ?

                            Cordialement.

                            Eric
                            addrulepath c'est pour integrer une règle de validation du champ coté serveur (donc un peu + complexe que ce que l'on peut faire côté client).

                            Voir :
                            Dernière édition par roland_d_alsace à 12/08/2017, 10h01
                            A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
                            Rejoignez le Joomla Users Groupe Alsace...
                            roland_d_alsace va-t-il devenir roland_du_grand_est ?

                            Commentaire


                            • #15
                              Re : Développement de module

                              Envoyé par Agrepe Voir le message
                              J'ai fait ça dans mon fichier default.php :

                              Code PHP:
                                  <div>    
                                  <?php echo $params->get('gr_pa_ev'); ?>    
                                  </div>
                              Et ça fonctionne, mais est-ce la bonne manière ?
                              Oui, et si ça marche c'est que $param (instance de classe JRegistry) a été créée et initialisée au préalable

                              ...ce qui est spécifiquement le cas dans un module.

                              Tu peux aussi rajouter la valeur par défaut en 2ème paramètre : $param = $params->get('paramName', 'defaultValue');
                              Dernière édition par roland_d_alsace à 12/08/2017, 10h29
                              A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
                              Rejoignez le Joomla Users Groupe Alsace...
                              roland_d_alsace va-t-il devenir roland_du_grand_est ?

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X