Passer des variables dans un module

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

  • Passer des variables dans un module

    Bonjour,

    J'ai beaucoup d'articles devant afficher en bas de page une liste de fiche provenant d'un annuaire SOBI.
    J'ai donc créé un module, lequel lance des requêtes SQL (suivant 3 variable : ville, département et région) et affiche les résultats. Module testé indépendamment, et affiche tout très bien.

    J'aimerais placer et lancer ce module en fin de chaque article :
    {loadposition monmodule}

    Mais chaque article correspond à une ville, un département et un région différente (3 variables). J'aimerais que chaque article puissent envoyer des valeurs de variable à mon module, pour que celui ci affiche les fiches correspondantes.
    Comme faire pour que le module puisse récupérer ces valeurs provenant d'un article ??

    MERCI

  • #2
    Re : Passer des variables dans un module

    [Modo]Je déplace dans la section développement[/Modo]

    Salut

    Je ne vois pas comment à moins de prendre le problème autrement : ton module doit lire le querystring (l'url) et retrouver le ID de l'article et là, à toi de savoir ce qu'il faut faire. Par exemple, consulter la table des articles, retrouver l'article sur base du ID et initialiser tes champs.
    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


    • #3
      Re : Passer des variables dans un module

      Ou faire un plugin que l'on insère en fin d'article avec les critères en paramètre
      {monplugin ville=X dpt=Y region=Z}
      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


      • #4
        Re : Passer des variables dans un module

        J'ai eu ce besoin et je l'ai résolu en ajoutant au niveau du template ou du model de l'article ou du composant, les variables dont j'avais besoin :

        JRequest::setVar('natureProduit', $natureProduit);

        et dans les modules, pour les récupérer :

        $natureProduit = JRequest::getVar('natureProduit','');

        ainsi toute tes variables sont visibles à l'ensemble de tes modules
        Christophe
        http://www.webcrea.fr

        Commentaire


        • #5
          Re : Passer des variables dans un module

          Envoyé par lomart Voir le message
          Ou faire un plugin que l'on insère en fin d'article avec les critères en paramètre
          {monplugin ville=X dpt=Y region=Z}
          Tu parles de Plugin ou de Module ?
          Si faut créer un Plugin, et si c'est aussi facile que de faire un module, ya no soucis.
          Effectivment faire passer les variables comme cela serait idéal et me permettrait à chaque article de faire passer les var que je veux.

          Commentaire


          • #6
            Re : Passer des variables dans un module

            Si faut créer un Plugin, et si c'est aussi facile que de faire un module, ya no soucis.
            Un plugin "content" est justement fait pour ça
            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


            • #7
              Re : Passer des variables dans un module

              Assez habitué par la création de module et leur gestion dans les articles, je reste un peu perplexe devant la mise en place d'un plugin, chose que je n'ai jamais réalisée.
              Avant tout, j'ai réalisé un petit plugin (nommé plugtest). PHP+XML installés sans soucis.


              Code PHP:
              <?php
              defined
              '_JEXEC' ) or die( 'Restricted access' );
              jimport'joomla.plugin.plugin' );
              echo 
              "test";
              ?>

              Et j'ai placé un {plugtest} en fin d'un article pour voir si mon echo apparait
              Je rencontre déjà quelques problèmes.
              Mon echo ne s'affiche pas du tout en bas, mais sur toutes les pages en haut (!?)
              Et à la place en bas est marqué {plugtest}, le plug est interprété comme du texte simple (!?)

              Commentaire


              • #8
                Re : Passer des variables dans un module

                un plugin tourne avant l'affichage du contenu

                le principe d'un plugin est :
                - chercher son motif, dans ton cas {plugtest}
                - effectuer le travail pour lequel il est dédié, dans ton cas retourner la chaine "test"
                - remplacer dans l'article {plugtest} par "test"

                regarde comment sont faits les plugins "content" et tu devrais comprendre
                Christophe
                http://www.webcrea.fr

                Commentaire


                • #9
                  Re : Passer des variables dans un module

                  En effet. Un plugin ne fait pas de echo; jamais. Ce n'est pas lui qui est responsable de l'affichage.

                  Il doit retrouver injecter une portion d'un texte dans la variable référencée (généralement $article).
                  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


                  • #10
                    Re : Passer des variables dans un module

                    Oulaa oui le développement d'un PlugIn est plus complexe que les simples Modules.
                    Je me suis mis de coté quelques sites traitant du sujet, et regarderais ca bien ce week end.
                    Objectif déjà, déclarer un variable toute simple dans le PlugIn et l'appeler/afficher sur l'article. Et déja ca ... je sens que c'est pas gagné

                    Commentaire


                    • #11
                      Re : Passer des variables dans un module

                      Bon, finalement j'ai eut une idée et j'ai cédé à la facilité.
                      J'ai créé un module qui remplie cette tache. Module que j'appelle donc en fin de chaque article {loadposition monmodule}.
                      Le module analyse le titre de la page dans lequel se trouve en fait les variables, et les extrait. A partir de là, il peut alors lancer la requete spécifique à la page.
                      C'est peut être pas académique, et peut être moins rapide, mais ca fonctionne parfaitement.
                      Quand j'aurais plus de temps je ferais les choses "proprement".

                      Commentaire

                      Annonce

                      Réduire
                      Aucune annonce pour le moment.

                      Partenaire de l'association

                      Réduire

                      Hébergeur Web PlanetHoster
                      Travaille ...
                      X