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

    c’est une question simple mais je n’ai pas trouvé la réponse dans la documentation.
    Comment faire pour inclure le contenu du document 17 (par exemple) dans le document 13 ?
    Ceci sans créer une nouveau snippet si possible.
    Peut-on ensuite gérer une TV du document 17 ?
    Merci pour vos réponses.
      • 18219
      • 826 Posts
      1ere Q : Inclure un document dans un autre huh
      Peux-tu préciser ce que tu recherche ?
      - Veux tu inclure une partie du document genre sommaire dans un autre document ? Dans ce cas tu utilises le snippet DITTO (qui remplace Newlisting plus d’autres fonctions). Et il affichera également les autres documents d’un même dossier.
      - Veux tu inclure le document dans son intégralité de sorte qu’une modification de l’original sera reporté dans le document clone ? Alors la, reste la solution de développer le snippet qui rempli cette fonction.

      2 ème Q : Gérer un TV
      Tu place dans le template, le document, le snippet ou le chunk de la façon suivante [*MonTV*]
        Marc
        I'm French... Sorry for my bad English, I use ' Google Translator' or other... but that remains that tools wink
        • 11975
        • 2,542 Posts
        slt ,

        pour inclure le contenu d’un document dans un autre, je pense que tu dois pouvoir t’en sortir avec la commande @DOCUMENT

        --> http://modxcms.com/document-binding.html
          Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
          • 18219
          • 826 Posts
          Ah je ne connaissais pas cette option. On en apprend tous les jours wink
            Marc
            I'm French... Sorry for my bad English, I use ' Google Translator' or other... but that remains that tools wink
            • 20394
            • 134 Posts
            Merci pour la commande @DOCUMENT smiley
            Pour répondre à Marc, ce que je voulais faire est ceci :
            [glow=lightgreen,2,300]Veux tu inclure le document dans son intégralité de sorte qu’une modification de l’original sera reporté dans le document clone ? Alors la, reste la solution de développer le snippet qui rempli cette fonction[/glow]
            Si je désire inclure le document avec un snippet, quelle est la commande qui permet de retourner le contenu d’un document ayant pour ’id’ disons 17 ?
            Merci d’avance.
              • 18219
              • 826 Posts
              Dans un snippet, tu peux employer la fonction getDocument contenu dans l’API de Modx qui te retourne les éléments d’un document.
              Exemple (pour le document dont l’id = 1) :
              $doc = $modx->getDocument(1);
              echo $doc[‘pagetitle’];
              echo $doc[‘content’];
              

                Marc
                I'm French... Sorry for my bad English, I use ' Google Translator' or other... but that remains that tools wink
                • 20394
                • 134 Posts
                Merci beaucoup smiley
                Je met donc dans le snippet :
                $rr=(!isset($rr))?0:$rr;
                $doc = $modx->getDocument($rr);
                echo $doc[’content’];

                que j’appelle ensuite avec :
                [[includeDocument? &rr=2]]

                J’aimerai cependant que l’id du document à inclure vienne d’une TV, genre "refid".
                Après avoir créé cette variable et en appelant
                $rr=$modx->documentObject[’refid’];
                j’obtiens une erreur d’appel Mysql, comme quoi le champs ’refid’ n’existe pas.

                J’ai également essayé d’appeler le snippet comme suit :
                [[includeDocument? &rr=[*refid*]]]
                mais à l’écran apparait seulement 17 et non le contenu du document 17 huh
                  • 18219
                  • 826 Posts
                  Ton snippet fonctionne, il suffit de remplacer $rr par 17 pour voir le contenu de ta page (Je l’ai testé de mon coté) wink

                  Par contre, l’appel à ta TV ne fonctionne pas.
                  Les placeholders utilisés ne doivent pas correspndre à ce que tu recherche. Essai [+tvrefid+] à la place de [*refid*].
                  De mon coté, j’ai un soucis avec les TV (et je n’ai pas bcq de temps pour résoudre ce pb)
                    Marc
                    I'm French... Sorry for my bad English, I use ' Google Translator' or other... but that remains that tools wink