We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 33582
    • 80 Posts
    Bonjour à tous et à toutes,

    Je commence un nouveau site sous modx. Je souhaite stocker le code de mes snippets dans des fichiers physiques. Cependant je ne parviens pas à le faire. Je vous décris ici la procédure que j’ai suivie :

    - Création d’un snippet "helloworld" avec le code :
    include $modx->config['base_path']."assets/snippets/monsite/helloworld/hello.php";

    - Création d’un fichier hello.php à l’emplacement suivant : assets/snippets/monsite/helloworld/
    - Ce fichier contient les lignes suivantes :
    return "Hello world";


    A l’affichage je n’ai absolument rien...


    Comment parvient-on a un tel résultat ?
    Est-il possible de stocker aussi le code des templates de pages dans des fichiers externes?

    Merci pour vos réponses
      Aur
      • 33582
      • 80 Posts
      Je reviens vers vous, car j’ai trouvé la solution au premier problème, il suffit de mettre l’instruction return dans le code du snippet.
      return include $modx->config['base_path']."assets/snippets/monsite/helloworld/hello.php";


      Reste à faire pareil pour les templates de pages...

      Quelqu’un a-t-il une solution ?
        Aur
        • 6726
        • 7,075 Posts
        Essaye ce snippet de Susan (source ici : http://modxcms.com/forums/index.php?topic=4139.msg30264#msg30264)

        <?php
        # Snippet to include files from filesystem
        # [[includeFile? &file=`assets/templates/mytemplate/file.html`]]
        
        if ( !isset($file) || $file== "" ) return "No file specified."; //check if there's a file given.
        
        //Start the buffer
        ob_start();
        
        //include
        include $file;
        
        //get contents from the buffer
        $ob_contents = ob_get_contents();
        
        //and kill/delete the buffer
        ob_end_clean();
        
        //return it to MODx
        return $ob_contents;
        ?>


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


          MODx est l&#39;outil id
          • 16732
          • 592 Posts
          C’est vrai qu’un return dans le fichier inclus ne marche pas undecided

          Voici le petit appel de tous mes snippets :

          <?php
          $snipPath = $modx->config['base_path']."assets/snippets/monSnippet/"; 
          include($snipPath."monSnippet.inc.php");
          
          return $output;
          ?>


          Couplé à un $output = contenu de la sortie de mon snippet, à la fin du fichier inclus