We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 21946
    • 283 Posts
    >astrolabe : le "getLoginUserID" ça vient de la doc de l’API de modx
    http://modxcms.com/getloginuserid.html

    ce sont des fonctions toutes prêtes et on peut s’en servir pour programmer les snippets (si j’ai bien compris; ce qui n’est surement pas le cas vu que j’ai juste fait un peu de php en procédural, le reste m’est incompréhensible).

    En fait tout ça semble assez simple à faire, il faut juste qu’on comprenne comment récupérer l’id de l’utilisateur (en créant soi même un snippet qu’on appellera dans la page comme tu as fait) en train de voir la page, ce qui ne doit pas être si sorcier, on va bien trouver ça rapidement smiley

    >Davidm : désolé, mes connaissances limitées font que je n’arriverais à rien avec ce bout de code je pense embarrassed (j’avais définit le contexte mais je ne savais pas quoi faire ensuite en voyant que ça ne marchait pas dans un snippet).
      [url=http://www.savepoint.fr/index.php?id=38] -petits tuyaux pour les d
      • 2327
      • 214 Posts
      Merci à vous deux. Donc, ce getloginuserid, il n’est pas requis de le créer comme snippet. Mais en ce cas, où puis-je spécifier le contexte comme David le précise ?

      Ouh là là..ça se complique shocked
        • 16732
        • 592 Posts
        Quote from: nyl at Oct 09, 2007, 06:01 AM

        Bonjour, cela m’intéresse mais je ne me suis jamais encore lancé dans l’API de modx donc je bloque. Je suppose qu’il faut dans les grandes lignees faire ça une fois qu’on a créer un snippet UserId?

        [+phx:if=`[*createdby*]`:is=`[!UserId!]`:then=`toute la page html`:else=`vous n'avez pas accès à cette page ! `+]


        J’ai essayé ça pour récupérer l’id de l’internaute loggé avec un snippet mais ça ne fonctionne pas; donc je suppose que j’ai rien compris à l’API de modx.
        <?php
        $id=$modx->getLoginUserID( );
        return $id;
        ?>

        C’est le bon code pour le snippet, par contre je pense qu’il faut utiliser la syntaxe [[UserId]] dans le ph PHx.

        L’utilisation des placeholders et des snippets est assez délicate dès que l’on utilise PHx.... mais quand ça marche la combinaison Snippet+PHx est extrêmement puissante
          • 2327
          • 214 Posts
          Bon on va y arriver...c’est le bon code pour quel snippet Laurent ? On le crée ce snippet getLoginUserID ou non ? désolé..suis de plus en plus paumé...
            • 21946
            • 283 Posts
            >Laurentc
            Chez moi ça ne renvoie rien du tout quand j’appelle le snippet dans la page? huh

            <?php
            $id=$modx->getLoginUserID( );
            return $id;
            ?>


            > Astrolabe
            Avec le code suivant :
            [+phx:if=`[*createdby*]`:is=`[[UserId]]`:then=`toute la page html`:else=`vous n'avez pas accès à cette page ! `+]


            il faut en effet créer un snippet (qui va nous dire quel est l’id de l’utilisateur actuel qui visite la page); que j’ai ici appelé UserId. Le code au début de mon poste est normalement celui qui qu’il faut copier coller lorsque tu va créer un nouveau snippet pour que l’appel ci dessus avec phx fonctionne.

            sauf que au final chez moi ce snippet ne renvoie aucune valeur donc y’a un truc qui cloque undecided

              [url=http://www.savepoint.fr/index.php?id=38] -petits tuyaux pour les d
              • 2327
              • 214 Posts
              Mais où dans ce cas précises-tu le contexte dont parles David ? Comment passe-t-on l’argument Web à la fonction getLoginUserID pour lui préciser qu’il ne s’agit pas du login Manager mais bien Web ? entre les parenthèses de ton appel ?

              <?php
              $id=$modx->getLoginUserID( ICI ?);
              return $id;
              ?>
                • 16732
                • 592 Posts
                @nyl auster
                ce snippet ne fonctionne pas huh
                <?php
                $id=$modx->getLoginUserID();
                return $id;
                ?>


                ... l’as tu essayé hors de la syntaxe PHx?, t’es-tu connecté avec un utilisateur web?

                EDIT : @astrobabe :$modx->getLoginUserID() renvoie l’id du webuser connecté
                  • 21946
                  • 283 Posts
                  Ca marche avec ce code chez moi.sinon j’ai un parse error avec le code d’avant. (j’ai vu cette maniere de faire dans le snippet "weblogin")

                  <?php
                  $uid = $modx->getLoginUserID();
                  $ds = $modx->getWebUserInfo($uid);
                  return $ds[’id’];
                  ?>


                  erratum : si si ça marche en fait, au temps pour moi grin

                  Je n’étais pas connecté avec l’utilisateur web que j’avais crée, désolé ! undecided

                  >Astrolabe : il te faut juste créer un snippet dans lequel tu copies colle ce code
                  <?php
                  $id=$modx->getLoginUserID();
                  return $id;
                  ?>



                    [url=http://www.savepoint.fr/index.php?id=38] -petits tuyaux pour les d
                    • 16732
                    • 592 Posts
                    Etrange, je viens de tester à nouveau et de mon côté return $modx->getLoginUserID(); fonctionne parfaitement.

                      • 21946
                      • 283 Posts
                      ce qui m’échappe par rapport au titre du topic, c’est qu’un utilisateur web ne peut pas créer de page lui même, il n’a pas le droit d’accèder à un formulaire de création d’article si? alors comment peut il être l’auteur d’une page?
                        [url=http://www.savepoint.fr/index.php?id=38] -petits tuyaux pour les d