Intégrer un plugin tiers dans mon composant. JPlugin

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

  • [RÉGLÉ] Intégrer un plugin tiers dans mon composant. JPlugin

    Bonjour,
    Je suis en train de créer mon premier composant et j'aimerai pouvoir utiliser des plugin existant. Par exemple :
    - com Modalizer pour ouvrir une fenêtre en popup.
    Comment dois-je faire pour appeler Modalizer correctement et faire en sorte que mon lien (bouton) ouvre bien un popup?
    Code PHP:
    JPluginHelper::importPlugin('system');
    //ou
    JPluginHelper::importPlugin('system','modalizer'); 
    Artisan du Web - développeur d'application web et de site internet essentiellement avec Joomla www.incode.be
    - Le sujet est [Réglé] et on n'en parle plus ? Modifier le statut de votre message svp
    - Communauté Joomla Belge sur Facebook

  • #2
    Re : Intégrer un plugin tiers dans mon composant. JPlugin

    J'ai lu (avant de créer ce poste) le poste suivant:
    Phocagallery dans autre composant
    J'aimerais pouvoir utiliser Modalizer et com_media, comment puis-je adapter le code suivant ?
    Code PHP:
    $toto->text="{phocagallery view=category|categoryid=3|limitstart=0|limitcount=5|detail=5|overlib=2|displayname=1|displaydetail=1|imageshadow=shadow1|float=left}";
    $param="";

    JPluginHelper::importPlugin('content');
    $dispatcher =& JDispatcher::getInstance();
    $resultat $dispatcher->trigger('onPrepareContent', array (& $toto, & $params0));
    echo 
    $toto->text
    Artisan du Web - développeur d'application web et de site internet essentiellement avec Joomla www.incode.be
    - Le sujet est [Réglé] et on n'en parle plus ? Modifier le statut de votre message svp
    - Communauté Joomla Belge sur Facebook

    Commentaire


    • #3
      Re : Intégrer un plugin tiers dans mon composant. JPlugin

      D'après les noms que tu donnes (com_modalizer, com_media), il s'agit de composants, pas de plugins.
      Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
      Confucius

      Commentaire


      • #4
        Re : Intégrer un plugin tiers dans mon composant. JPlugin

        En effet vu comme ça oui. J'ai juste fait une erreur dans le premier message, la phrase originale était "un plugin comme modalizer". Il s'agit bien d'un plugin qui permet l'ouverture d'un popup, normalement dans les articles.
        Concernant l’intégration de composant il est bien sur possible de développer un plugin ou module qui reprend le code.
        Il est aussi possible d'intégré des modules dans les articles cf.:inclure-module-contenu-joomla ou avec mosloadposition

        Mon but est de pouvoir utiliser les fonctions déjà existante pour trois raison:
        1. rendre ces extensions encore plus utiles (et populaire)
        2. permettre à l'utilisateur finale de ne pas être perdu entre le fonctionnement des différents plugin
        3. profiter de ce qui existe déjà pour avancer plus vite (une fois que j'aurais mieux compris cette subtilité du framework)
        Artisan du Web - développeur d'application web et de site internet essentiellement avec Joomla www.incode.be
        - Le sujet est [Réglé] et on n'en parle plus ? Modifier le statut de votre message svp
        - Communauté Joomla Belge sur Facebook

        Commentaire


        • #5
          Re : Intégrer un plugin tiers dans mon composant. JPlugin

          Bon ben je fait un petit up,
          j'aimerai vraiment avoir des éclaircissements sur JPluginHelper::importPlugin, merci
          Artisan du Web - développeur d'application web et de site internet essentiellement avec Joomla www.incode.be
          - Le sujet est [Réglé] et on n'en parle plus ? Modifier le statut de votre message svp
          - Communauté Joomla Belge sur Facebook

          Commentaire


          • #6
            Re : Intégrer un plugin tiers dans mon composant. JPlugin

            Bonjour,
            tu as testé la méthode que tu cites dans ton 2ème message ? Je ne sais toujours pas si c'est casheer mais ça marche parfaitement pour les plugins de contenu.
            Schtroumpfe toi le Schtroumpf t'aidera.
            Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

            Commentaire


            • #7
              Re : Intégrer un plugin tiers dans mon composant. JPlugin

              j'ai tout lu et j'avoue que je ne sais plus de quoi ça parle
              tu veux créer un plugin qui permet d'ouvrir une fenêtre en popup ? si oui il en existe déjà, donc il suffit de regarder comment ils sont faits
              Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
              http://www.template-creator.com Outil de création de templates
              Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

              Commentaire


              • #8
                Re : Intégrer un plugin tiers dans mon composant. JPlugin

                Merci pour vos interventions ça fait du bien d'avoir du suivi
                Envoyé par Grand Schtroumpf Voir le message
                Bonjour,
                tu as testé la méthode que tu cites dans ton 2ème message ? Je ne sais toujours pas si c'est casheer mais ça marche parfaitement pour les plugins de contenu.
                C'est à dire que j'ai du mal à l'appliquer, je ne la comprend pas vraiment et le plugin n'est pas celui que je cherche. Comment devrais-je le modifier pour y mettre mosloadposition et l'utiliser ?

                Envoyé par ced1870 Voir le message
                j'ai tout lu et j'avoue que je ne sais plus de quoi ça parle
                tu veux créer un plugin qui permet d'ouvrir une fenêtre en popup ? si oui il en existe déjà, donc il suffit de regarder comment ils sont faits
                L'exemple que je donne, c'est de pouvoir utiliser un plugin existant dans mon composant sans dupliquer du code existant.
                Sinon je code moi-même le popup et c'est réglé, mais j'aime autant allégé en utilisant les outils en place.
                Artisan du Web - développeur d'application web et de site internet essentiellement avec Joomla www.incode.be
                - Le sujet est [Réglé] et on n'en parle plus ? Modifier le statut de votre message svp
                - Communauté Joomla Belge sur Facebook

                Commentaire


                • #9
                  Re : Intégrer un plugin tiers dans mon composant. JPlugin

                  parce que pour le popup en fait tu peux utiliser la méthode Jhtml::_('behavior.modal'); qui permet de créer des fenêtres lightbox en utilisant l'API joomla
                  Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
                  http://www.template-creator.com Outil de création de templates
                  Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

                  Commentaire


                  • #10
                    Re : Intégrer un plugin tiers dans mon composant. JPlugin

                    Envoyé par wworld Voir le message
                    L'exemple que je donne, c'est de pouvoir utiliser un plugin existant dans mon composant sans dupliquer du code existant.
                    La réponse historique (de 2009) de Grand Schtroumpf tel que tu donnes dans ton deuxième post a toujours parfaitement fonctionner pour moi.

                    Est-ce qu'on parle bien d'un plugin de type content ?

                    Envoyé par wworld Voir le message
                    C'est à dire que j'ai du mal à l'appliquer, je ne la comprend pas vraiment et le plugin n'est pas celui que je cherche. Comment devrais-je le modifier pour y mettre mosloadposition et l'utiliser ?
                    Je t'accorde que c'est indéniable qu'il est préférable de comprendre mais, parfois, faut accepter de ne pas comprendre au tout début, de se contenter du "Oh, super, ça marche"

                    Code PHP:
                    $toto = new StdClass();
                    $toto->text="{phocagallery view=category|categoryid=3|limitstart=0|limitcount=5|detail=5|overlib=2|displayname=1|displaydetail=1|imageshadow=shadow1|float=left}"

                    $param=""


                    JPluginHelper::importPlugin('content'); 

                    $dispatcher =& JDispatcher::getInstance(); 

                    $resultat $dispatcher->trigger('onPrepareContent', array (& $toto, & $params0)); 

                    echo 
                    $toto->text
                    Ligne 1 que j'ai rajouté pour la beauté du code : on crée la variable toto de type classe.

                    Ligne 2 : dans $toto, tu crées une propriété nommée text et tu lui donnes l'exact code du plugin que tu veux appeler. Ce code est exactement celui que tu mettrais manuellement dans un article.

                    Ligne 3 : requis, tu crées une variable bidon qui est vide.

                    Ligne 4 : par sécurité, tu indiques à Joomla de charger sa librairie de gestion des plugins

                    Ligne 5 : tu instancies le dispatcher c'est-à-dire le big brother qui est à l'écoute des évènements Joomla; car un plugin est un code événementiel.

                    Ligne 6 : Tu exécutes l'évènement onPrepareContent. C'est lui qui va appeler ton plugin. Quel plugin ? C'est $toto qui va être utiliser pour le savoir.

                    Ligne 7 et dernière ligne : le plugin ayant été exécuté, le code $toto->text qui contenait le code contient maintenant le code HTML généré par le plugin. Tu n'as plus qu'à l'écrire grâce à ton echo.
                    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


                    • #11
                      Re : Intégrer un plugin tiers dans mon composant. JPlugin

                      Re,
                      Comment devrais-je le modifier pour y mettre mosloadposition et l'utiliser ?
                      L'idée est que toto->text contient l'équivalent d'un article et qu'on va faire passer dessus les plugins de contenu. Si toto->text contient "<loadposition>toto<loadposition>" le plugin loadmodule va le traiter et tu récupéreras les modules dans l'emplacement toto.

                      Je t'accorde que c'est indéniable qu'il est préférable de comprendre mais, parfois, faut accepter de ne pas comprendre au tout début, de se contenter du "Oh, super, ça marche"
                      ah oui ? Moi c'est l'inverse... dans le temps j'aimais bien comprendre, maintenant je préfère quand ça marche
                      Dernière édition par Grand Schtroumpf à 14/07/2011, 09h18
                      Schtroumpfe toi le Schtroumpf t'aidera.
                      Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

                      Commentaire


                      • #12
                        Re : Intégrer un plugin tiers dans mon composant. JPlugin

                        Envoyé par ced1870 Voir le message
                        parce que pour le popup en fait tu peux utiliser la méthode Jhtml::_('behavior.modal'); qui permet de créer des fenêtres lightbox en utilisant l'API joomla
                        Merci ça marche, c'est le truc qui me manquait.

                        Envoyé par cavo789 Voir le message
                        La réponse historique (de 2009) de Grand Schtroumpf tel que tu donnes dans ton deuxième post a toujours parfaitement fonctionner pour moi.
                        Merci beaucoup beaucoup pour le détail. Je vais faire quelques tests

                        Envoyé par Grand Schtroumpf Voir le message
                        ah oui ? Moi c'est l'inverse... dans le temps j'aimais bien comprendre, maintenant je préfère quand ça marche
                        Tu ne Schtroumpf pas ton age!
                        Dernière édition par wworld à 14/07/2011, 09h30 Raison: oups :-)
                        Artisan du Web - développeur d'application web et de site internet essentiellement avec Joomla www.incode.be
                        - Le sujet est [Réglé] et on n'en parle plus ? Modifier le statut de votre message svp
                        - Communauté Joomla Belge sur Facebook

                        Commentaire

                        Annonce

                        Réduire
                        Aucune annonce pour le moment.

                        Partenaire de l'association

                        Réduire

                        Hébergeur Web PlanetHoster
                        Travaille ...
                        X