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


    J’ai créer un module en php qui permet de parser un flux xml, je l’ai exécuté et il fonctionne très bien.

    Cependant, j’aimerais pouvoir ajouter ce module dans le code d’une page afin qu’il soit visible sur le site.

    J’ai essayé {{auto}} mais rien ne se passe.

    Autrement, j’ai essayé de désactivé l’éditeur wiswig mais rien n’y fait.


    Merci pour votre aide,

    José
      • 16732
      • 592 Posts
      Je crois que tu parles d’un snippet et non d’un module. wink

      Tu peux aller faire un tour ICI pour te familiariser avec la terminologie MODx

      Pour revenir à ton problème, je ne sais pas de quoi est constitué ton script PHP mais pour le faire fonctionner sous MODx(du moins pour avoir un premier retour sur sont intégration), crées un snippet dans le manager et copies ton code dedans.

      Puis appel ton snippet dans la page avec la syntaxe suivante [!nomDeTonSnippet!]

      Pour rappel {{}} sert à afficher des chunks cad du code statique.



        • 1803
        • 2 Posts
        Merci pour ton aide laurent ça fonctionne correctement maintenant

        Je voudrais savoir dans quel cas utilise t-on un module ou un snippet ?

        Est ce qu’un nombre important de snippet ralentit le chargement du site, je compte en appeler un différent sur chaque page mais en déclaré un cinquantaine ?


        <?php
        // L'adresse du flux est différente à chaque fois d'où l'utilité de déclarer un snippet différent sur chaque page
        $xml = simplexml_load_file('http://rss.vivastreet.com/v1/2/1/e/cars_trucks.1.xml?aff=3138376');
        $xml_immo = $xml->channel;
        foreach($xml_immo->item as $element) {
        $nom = utf8_decode((string)$element->title).'<br><br>';
        echo utf8_decode((string)$element->description).'<br>';
        echo '<a href="'.utf8_decode((string)$element->link).'">'.'Voir cet annonce'.'</a><br><br>';
        }
        ?>



        José
          • 11975
          • 2,542 Posts
          Salut,

          pour ce qui est du poids des snippets sur les performances, il faut savoir que l’ensemble des ressources (chunk, snippets) sont dans le fichier site.cache.idx
          Donc si tu veux l’alléger un peu, utilise des includes dans le text area des snippets plutot que le code php.

          La différence entre un module et un snippet réside essentiellement dans le contexte d’utilisation, les modules == backend et snippet==frontend

          :-)
            Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
            • 16732
            • 592 Posts
            voici un petit snippet basé sur ton code qui permet d’ afficher le bon flux dans chaque page en fonction du paramètre &flux.

            <?php
            /*
            Appel dans les pages : [!SimpleFlux? &flux=`http://rss.vivastreet.com/v1/2/1/e/cars_trucks.1.xml?aff=3138376`!]
            */
            $flux = (isset($flux))? $flux : '';
            if(!isset($flux)){
             return "!! PAS DE FLUX !! Le paramètre &flux est obligatoire";
            }
            else {
                    
                    $xml = simplexml_load_file($flux);
                    $xml_immo = $xml->channel;
                    foreach($xml_immo->item as $element) {
                    $output .= utf8_decode((string)$element->title).'<br><br>';
                    $output .= utf8_decode((string)$element->description).'<br>';
                    $output .= '<a href="'.utf8_decode((string)$element->link).'">'.'Voir cet annonce'.'</a><br><br>';
                    }
            
            }
            
            return $output;
            ?>