We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 31331
    • 50 Posts
    [Note du modérateur : ce post a été splitté, déplacé de la FAQ à partir du post Informations sur les comptes utilisateur, et renommé pour refléter son contenu, notamment le snippet WebUserInfo par Vax, que j’ai rattaché à ce premier message pour éviter la confusion

    Alors il me semble t’avoir promis quelque chose. Donc voici un petit début. Désolé, finalement le temps m’a manqué avec entre autre le déneigement (1h30 par jour). Mais je te laisse qd même ça, c’est pour voir si ça fonctionne ailleurs que chez moi et si ça s’approche de tes besoins. Comme ça, on aura une base pour discuter. Je vais avancer pour rendre plus d’info accessible dès que j’aurais le temps et aussi autoriser les modifications par l’utilisateur mais là il faut que je vérifie ce qu’il est possible de faire en présercvant la sécurité.
    A bientôt.
      • 18219
      • 826 Posts
      Je vais me joindre à votre étude.

      Ce snippet m’interresse et je devais le mettre en oeuvre pour l’un des sites que j’ai en cours de réalisation.
      je vous tiens au courant sur mes observations.
        Marc
        I'm French... Sorry for my bad English, I use ' Google Translator' or other... but that remains that tools wink
        • 33175
        • 711 Posts
        Chez moi ça ne fonctionne pas mais je vais creuser un peu.
        Sinon, quelques petits conseils en PHP si tu me permets.

        Il préférable d’éviter les guillemets double " et d’utiliser les guillemets simples ’ : les guillemets doubles sont "parsés" par le moteur PHP (contrairement aux guillemets simples), ce qui permet un gain de temps. Bien que ce gain ne soit pas énorme, c’est toujours ça de pris surtout pour sur les pages complexes.

        Pour simplifier la lecture du code, tu peux limiter le nombre d’appel à tes variables :
        $out = $out." Utilisateur : ";
        est équivalent à
        $out .= " Utilisateur : ";


        L’avant dernier caractère de fin de balise html (lorsqu’il n’y a pas de balise fermante) n’est pas \ mais /.
        peut s’écrire
        mais pas <br\> (je pense que ça doit générer des erreurs mais je ne suis pas sûr).

        Question sémantique html : ça n’a rien de grave mais je trouve ça plus propre grin, il est possible d’utiliser les balises html "label" pour les noms des champs et de ne pas mettre
        en fin de ligne (le retour à la ligne peut se gérer avec les CSS)

        Ton code
        $out = $out." Utilisateur : ";
        $out = $out."<br\>";
        $out = $out." <input type=\"text\" name=\"fullname\" class=\"inputBox\" style=\"width:300px\" value=\"".htmlspecialchars($nom)."\"> ";
        $out = $out."<br\>";
        

        est équivalent à
        $out .= 'Utilisateur : ';
        $out .= '<br />';
        $out .= '<input type="text" name="fullname" class="inputBox" style="width:300px" value="'.htmlspecialchars($nom).'" /> ';
        $out .= '<br />';
        


        et pourrait être équivalent à
        $out .= '<label for="fullname">Utilisateur : <input type="text" name="fullname" class="inputBox" value="'.htmlspecialchars($nom).'" /></label>';
        


        Voilà smiley
        Je vais essayer de voir pourquoi ça ne fonctionne pas chez moi.

        A plus smiley
          Sorry for my english. I&#39;m french... My dictionary is near me, but it&#39;s only a dictionary !
          • 33175
          • 711 Posts
          Il y a une erreur à la ligne 15:
          $id=getLoginUserID;

          A remplacer par
          $id=$modx->getLoginUserID();


          Et maintenant ça fonctionne chez moi smiley

          Une autre suggestion tongue l’utilisation d’un template chunk pour le formulaire serait sympa smiley
            Sorry for my english. I&#39;m french... My dictionary is near me, but it&#39;s only a dictionary !
            • 18219
            • 826 Posts
            Attention, il est préférable de passer par des chunks plutôt que fait usage de template (ce qui permet au snippets d’être complétement indépendant et évolutif).
            Dans ce cas, le snippets doit être complété par un parser qui va prendre en compte le chunk et générer le code html correspondant à l’identique du chunk.

            Regarde le code de NewsListing (version 6.3...), ce type de parser est intégré dans le fichier fonction.php
              Marc
              I&#39;m French... Sorry for my bad English, I use &#39; Google Translator&#39; or other... but that remains that tools wink
              • 33175
              • 711 Posts
              Désolé pour l’erreur. Je voulais effectivement dire "chunk" et non "template". Je rectifie mon post.
                Sorry for my english. I&#39;m french... My dictionary is near me, but it&#39;s only a dictionary !
                • 31331
                • 50 Posts
                Merci pour tout!
                Il est vrai que sur la mise en forme j’ai fais quelque chose d’approximatif, c’était pour voir si le résultat allait dans la direction que tu désirais Guillaume. Pour les ’ à la place des " c’est cool, je ne conaissais pas l’astuce. Merci. sinon pour le $modx-> avant les appels de fonction, c’est vrai que c’est plus propre, encore un oubli du à ma précipitation. Chez moi ça marchait sans.
                Merci Marc de te joindre à la réflexion, surtout que tu dois connaitre MODx baucoup mieux que moi si j’en juge par ton nombre de post.
                POur un débat plus long sur la création de snippet voir de module,plugin,etc j’avais crée un topic http://modxcms.com/forums/index.php/topic,3253.0.html.
                Merci encore à tous les deux.
                  • 18219
                  • 826 Posts
                  Quote from: Vax at Mar 08, 2006, 12:53 AM

                  ...
                  Merci Marc de te joindre à la réflexion, surtout que tu dois connaitre MODx baucoup mieux que moi si j’en juge par ton nombre de post.
                  ...
                  Si tu développe des snippets, tu le connaitra plus que moi sous peu de temps.
                  Les remarques que j’ai faites viennent uniquement du bon sens et de l’observation et la compréhension du code réalisé dans les autres snippets.

                  Quand aux nombres de posts (j’en suis pas encore au score de david), ce n’ai pas un gage de connaissance du produit (encore moins de qualité) mais uniquement un indicateur de présence ou d’activité sur ce forum.
                  Ma contribution est tout relative. Ma charge de travail actuelle me freine dans l’apport que je souhaiterais apporter à la communauté notamment sur la traduction.
                    Marc
                    I&#39;m French... Sorry for my bad English, I use &#39; Google Translator&#39; or other... but that remains that tools wink
                    • 31331
                    • 50 Posts
                    Bonjour,
                    Comme je vous l’avais dit, le premier code fournit dans le post plus haut était juste un test. Mais puisque cela semble vraiment vous intéressé, j’ai fait un petit effort et je me suis lancé dans une version plus propre hier soir. Toutes les fonctionnalités ne sont pas implémentées par manque de temps, donc je n’exclu pas la présence de quelque erreur. Par contre c’est sur cette base là que je compte poursuivre mon travail, alors n’hésitez pas à faire par de vos remarques. Ensuite je posterai le snippet dans un topic qui lui sera dédié pour que la communauté puisse le tester mais j’attends d’avoir quelque chose de plus complet. Pour cause d’arrêt de l’usine (c’est là que je travaille le plus), je ne pense malheureusement pas pouvoir avancer avant mardi prochain.
                    A bientôt.
                      • 33175
                      • 711 Posts
                      Merci pour cette nouvelle version.

                      Je viens de l’installer et tout est (presque) ok.

                      J’utilise UTF-8 comme codage de la page. Comme je n’ai pas spécifié de chunk en paramètre, le modèle est celui de ton code. Du coup, les caractères accentués ne sont pas affichés convenablement. Il vaudrait mieux utiliser les entités html.

                      if($chk) $chk = ($chunk=$modx->getChunk($chk)) ? $chunk:"Chunk '$chk' introuvable.";
                      if(!$chk) $chk = getWebUserInfotpl();
                      est équivalent à
                      if($chk) {
                        $chk = ($chunk=$modx->getChunk($chk)) ? $chunk:"Chunk '$chk' introuvable.";
                      } 
                      else {
                        $chk = getWebUserInfotpl();
                      }
                      que je trouve plus lisible pour relire (avis personnel qui n’engage que moi).

                      Les " en ’ de la ligne 38 à 48.

                      J’ai effectué ces modifications sur le fichier webuserinfo.inc.php. Si ça peut intéresser...
                        Sorry for my english. I&#39;m french... My dictionary is near me, but it&#39;s only a dictionary !