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

    Déjà, je suis nouveau sur le forum (bonjour tout le monde), mais j’utilise modx depuis maintenant presque deux mois.


    Et si je poste mon premier message, c’est que je suis confronté à une difficulté :

    La page que je désire afficher sur mon site affiche en plusieurs endroits des informations provenant d’une source de données externe.

    Mon modèle est séparé en deux colonnes.
    Dans la colonne de gauche je fais appel à un snippet qui va chercher les informations depuis la source de données et en affiche quelques unes. Dans la colonne de droite, je souhaite afficher le contenu d’un document. Ce document contient l’appel à un snippet qui doit lui aussi afficher des données provenant de ma source externe.

    mon problème est le suivant : Comment faire pour n’accéder qu’une seule fois à ma source de données externe ? (et pouvoir en quelque sorte "passer en paramêtre" aux snippets les informations provenant de cette source de données).

    je tiens à préciser que ces informations sont représentées sous la forme d’une structure de données relativement complexe que j’aimerais beaucoup pouvoir conserver intacte.

    j’espère avoir été assez clair.


    Cordialement,

    V. Alquier
      • 6726
      • 7,075 Posts
      Je n’ai pas à proprement parler de solution à ton problème, simplement la logique de MODx vu ton cas aurait plutôt été d’utiliser les @bindings qui ont été créé précisémment pour lier une variable à une source de données.

      Cette source peut être :
      * un fichier externe présent sur le serveur (@FILE file_path)
      * une table d’une BDD MySQL accessible depuis MODx (@SELECT sql_query)
      * un document MODx (@DOCUMENT document_id)
      * un chunk (@CHUNK chunk_name)
      * le résultat d’un script PHP (@EVAL php_code)

      Pour plus de détails voir : http://www.modxcms.com/data-binding.html


        .: COO - Commerce Guys - Community Driven Innovation :.


        MODx est l'outil id
        • 31259
        • 4 Posts
        merci pour réponse ( plus que rapide tongue ).

        En fait, mon problème c’est que j’aimerais pouvoir conserver les données sous la forme d’une classe ... ou (au pire) d’un tableau associatif.
        Je ne crois pas que les TV permettent cela ... embarrassed
          • 6726
          • 7,075 Posts
          Ce n’est pas vraiment mon domaine mais je ne pense pas que ce soit possible actuellement... par contre si j’ai bien tout compris ça fera partie des choses possible avec la 1.0... mais c’est pas pour tout de suite tongue
            .: COO - Commerce Guys - Community Driven Innovation :.


            MODx est l'outil id
            • 31259
            • 4 Posts
            est-il possible de "partager" la même variable entre plusieurs snippets en utilisant le mot-clef "global" ?
              • 18219
              • 826 Posts
              Quote from: valquier at Jun 15, 2006, 08:47 AM

              est-il possible de "partager" la même variable entre plusieurs snippets en utilisant le mot-clef "global" ?
              En principe, oui pûisque les snippets sont des morceaux de code PHP que tu insères dans ton document. Mais le mieux serait de passer par une TV.
                Marc
                I'm French... Sorry for my bad English, I use ' Google Translator' or other... but that remains that tools wink
                • 20394
                • 134 Posts
                Ce serait peut-être de bien de définir une nouvelle propriété pour $modx, qui serait utilisée par les snippets pour conserver des variables.
                Il faudrait le rajouter dans la classe DocumentParser (de mémoire) et ensuite utiliser :
                $modx->mavariable;

                Cela pourrait être un tableau associatif, mais on devrait pouvoir mettre une liste d’objet également.
                  • 31259
                  • 4 Posts
                  J’avais effectivement espoir de trouver ce genre de fonctionnalités quand j’ai posté le message ^^ !

                  Pour l’instant, je m’en sors en utilisant des "global" ...

                  merci à tous pour votre aide smiley
                    • 20394
                    • 134 Posts
                    Correctif à mon précédent post.
                    Je pense qu’il faut simplement utiliser le tableau $modx->documentObject et y ajouter les champs qui nous intéresent, genre :
                    $modx->documentObject['mavariable']=mavaleur;