We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 36474
    • 108 Posts
    Bonjour,

    Je ne comprends pas comment on utilise un evenements (event) dans modx .
    Je voudrais utiliser OnBeforeWebSaveUser pour appeler des fonctions mais je comprends pas comment ca s’utlise.

    Si vous avez des idées je suis preneur. J’ai parcouru le net et le forum mais rien des très "compréhensible" pour moi tout du moins.

    merci à vous
      • 36404
      • 307 Posts
      Hello,

      à mon avis, le moyen le plus simple d’utiliser un évènement MODx est d’écrire ton code dans un plugin.
      En fait c’est même tout l’intérêt des plugins, s’exécuter sur un/des évènements du CMS
      Par défaut quand tu fais un plugin, les options de config te donnent le choix du ou des évènements sur le(s)quel(s) il doit s’exécuter voir de l’ordre dans lequel tu veux que les plugins s’exécutent sur un évènement s’il y en a plusieurs.

      Parfois, ça vaut la peine d’écrire son code en plusieurs morceaux, snippet, module et autre + plugin justement pour la partie qu’on veut voir s’exécuter sur un évènement (c’est le cas d’un gros truc comme YAMS par ex)

      espérant t’avoir été utile smiley

      have swing
        réfléchir avant d'agir
        • 36474
        • 108 Posts
        Merci pour la réponse.

        Si je comprends bien le principe de l’événement. On crée un plugin avec dedans du code et celui-ci sera exécuter au moment ou l’évènement sera appeler.

        Mais comment on dit au snippet d’utiliser tel ou tel évènment ? c’est automatique ?

          • 36474
          • 108 Posts
          J’ai COMPRIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIs. Ca fait du bien. Je me sens léger léger léger.

          Pour mes test de plugins je mettais mon code dans les balises "<?PHP ?>" ca marchais pas.

          J’ai fait un simpe echo "bonjour"; avec rien d’autre et là miracle ca marche.

          ALors pour ceux qui voudrait comme moi faire un test. C’est simple.

          Créer un plugin test.
          Mettez dedans --> echo "mon premier plugin";
          Choisissez un évenement dans l’onglet evenement. exemple : OnDocPublished
          Enregistrer.

          Aller sur n’importe quel page de votre site rafraichissait et vous verrait s’afficher votre message. Car a chaque fois qu’une page s’affiche l’evenement OnDocPublished est appelé.

          Ca fait vraiment du bien.
            • 36404
            • 307 Posts
            pas vraiment automatique mais quand tu installes un plugin (dans lequel tu peux soit écrire directemnt le code de ton snippet soit faire appel à un snippet mais bon, sauf cas particulier où le snippet peut servir à autre chose que le plugin, autant mettre le code à exécuter directement dans le plugin...) tu as 3 onglets général/configuration/évènements système

            dans évènements système coche celui ou ceux sur lesquels tu veux que ton code s’exécute et enregistre, le tour est joué

            (fais juste gaffe à un truc, le code du plugin s’écrit sans les balises php de début et de fin, regarde comment sont installés ou écrits les "natifs" dans MODx)

            et t’inquiète, un plugin comme tinyMCE est blindé d’options de config dans l’onglet config mais ce n’est pas nécessaire, tu peux avoir un plugin qui se contenterait de faire echo "toto" onWebPagePrerenderer même si bon... smiley

            en réalité c’est la seule grosse différence entre un snippet et un plugin le fait de faire s’exécuter ce dernier sur un évènement system, pour le reste, c’est juste du code...

            Have swing

            édité : bon ben je vois que tu as trouvé tout seul, great ! je te mettais justement en garde contre les balises smiley et c’est good non comme possibilité smiley
              réfléchir avant d'agir
              • 36474
              • 108 Posts
              Oui merci à toi pour ton aide precieuse. tu m’avais mis sur la piste.
              C’est sûre que quand ca marche c’est pas mal du tout comme possibilité.

              Maintenant j’en reviens à mon problème originel comprendre comme utiliser OnBeforeWebSaveUser avec WebLoginPe pour controler les champs de mon formulaire. Je vais ouvrir un autre Post : http://modxcms.com/forums/index.php/topic,67714.0.html