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

    Je m’essaie à un nouveau travail aujourd’hui : l’utilisation des documents javascript qui appellent une tv d’un autre document.

    C’est en essayant d’installer image-sliding gallery que je me suis trouvée coincée, et ma seule échapatoire est le doc javascript... mais ça coince !

    En effet, pour les curieux qui vont regarder ça de plus près, dans le fichier mainPage_1.02.js du script, on retrouve les images à afficher dans la galerie. Comme une page sur un FTP n’est pas facile à mettre à jour, j’ai décidé de créer un doc de type javascript dans MODx.

    Je copie / colle la totalité du code et en lieu et place des chemins vers les images, je place les tv que j’ai créés (image1, image2, image3 : je n’ai que 3 images / document)

    Cependant, l’appel à ces TV ne fonctionne pas, et pour cause : MODx cherche les TV associés au document javascript (id=14) et non au document dans lequel je souhaite afficher ma galerie (id=3), vous me suivez ?

    J’ai installé le snippet GetField qui me permet de récupérer les tv d’un document donné (ici id=3)... mais finalement, je tourne en rond car l’id peut être 3 comme 46.

    Pour les gens qui auront saisi mon problème, ma question est simple : comment puis-je appeler dans le document js id=14 les tv du document que j’affiche dans le navigateur id=3 ?
    On dirait que si j’appelle une TV dans le doc js 14, MODx est voué à me chercher les TV du doc 14... ce qui ne serait pas abérent en soi tongue

    Merci par avance pour vos éclaircissements smiley
      • 11975
      • 2,542 Posts
      Autant le dire tout de suite j’ai pas de solution pour toi mais c’est bluffant comme galerie

      Quand j’ai commencé à développer mooshow c’etait dans l’intention d’en faire un outil pour la construction de galeries d’images selon des modeles (couloir, mooshow, ...)
      Je vais regarder comment utiliser celle là.

      En plus c’est exactement ce que je souhaitais comme galerie pour mon projet

      Sinon pour en revenir à ton pb:
      essaie d’inclure dans ton snippet
      $cID = $modx->documentIdentifier;
      print $cID;
      Pour voir si il retourne l’ID du doc en cours ou celui du js
        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • 23050
        • 1,842 Posts
        Ben mince, si j’avais su, je serai allée voir ailleurs plus tôt !
        Je me suis enfermée dans Mooshow 1) pour les effets proposés puis 2) pour participer à ton snippet mais voyant que je ne trouvais pas de solution pour mon histoire de miniatures, je suis allée vadrouiller ailleurs et j’ai trouvé ça hier soir.

        Pour ce soir, je te laisse ce que j’ai fait en me basant sur le tuto d’Alsa et lightbox : -http://www.architecture-gambino.com/v2/index.php?id=3

        L’étape suivante serait d’intégrer la gallerie de Kevin Hoang Le pour ajouter le fondu quand je clique sur une miniature

        J’aurai ainsi un fondu quand clique sur une miniature, et le lightbox quand je souhaite voir l’image en grand.
          • 11975
          • 2,542 Posts
          Perrine,

          voilà une astuce si tu souhaites récupérer l’id du doc courant pour avoir la valeurs des images dans les TVs qui lui sont associées.

          Ton js est un doc modx avec template (blank) pour l’exemple ton docID = 5
          dans les commentaires appelle une snippet (modx parse tout) [[myID]]

          code myID:
          $myID = $_REQUEST[’docID’]; //le doc en consultation sur le front ds lequel est inclus le js <script>
          return $myID;
          


          Dans ton template maintenant

          dans le <head>
          <script type="text/javascript" src="[~5~]&docID=[*id*]"></script>//remplace & par ? si Friendly url

          et voilà maintenat dans ton JS tu as la valeur du doc consulté
          A partir de là aucun pb pour avoir les valeurs des TVs et écrire dans le .js les valeurs


          :-)
            Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
            • 23050
            • 1,842 Posts
            Helio ... mon sauveur ! wink

            Merci bcp, je teste tout ça dès demain matin... et hésite pas si je peux t’apporter la moindre aide (huhu :p) sur Mooshow ou autre.
              • 23050
              • 1,842 Posts
              J’ai dû m’emmeler les pinceaux, je n’arrive toujours pas à appeler les tvs dans le doc .js

              1- J’ai inséré <script type="text/javascript" src="[~14~]&amp;docID=[*id*]"></script> dans le modèle de la Galerie
              Quand je charge la page, le docId = 3 donc c’est good ^^

              2- le docID est ensuite utilisé dans le snippet [[DocEnCours]] pour renvoyer $myID=3 or si je regarde le index.php?id=14&amp;docID=3 à partir de la webdeveloper (Information > Voir le Javascript), on voit que dans le commentaire placé en début de page : // Id en cours : ne renvoie rien.
              (Dans mon fichier .js, j’ai bien // Id en cours : [[DocEnCours]]

              Et les images ne sont pas chargées non plus (voir plus loin dans le code du même .js)

              Est-ce que j’ai mal fait quelque chose ?

                • 11975
                • 2,542 Posts
                Surement grin

                Je suppose que [[DocEnCours]] reprend l’idée du code donné en exemple plus haut.
                L’erreur provient sans doute de tes &amp dans le src du js.

                <script type="text/javascript" src="[~14~]&amp;docID=[*id*]"></script>
                essaie sans
                <script type="text/javascript" src="[~14~]&docID=[*id*]"></script>

                :-)
                  Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                  • 23050
                  • 1,842 Posts
                  Oui pardon, DocEnCours c’est le code de myID wink (Tiens d’ailleurs, est-ce important que le myID utilisé dans le snippet soit identique au nom du snippet ?)

                  J’ai essayé de remplacer par & tout seul mais cela ne change rien. J’avais modifié ce code là pour répondre aux exigences du W3C wink

                  Edit : En fait, comment ça se passe pour que MODx écrase l’id 14 pour le remplacer par l’id déclaré dans l’url d’appel du js ?
                  J’ai bien compris que grâce à <script type="text/javascript" src="[~14~]&docID=[*id*]"></script>, l’id déclaré est 3 mais il faut dire à un certain moment que ce 3 écrase le 14.

                  Dans le doc 14 (donc le .js), je mets sur une ligne :

                  // Id en cours : [[DocEnCours]]


                  c’est ça qui "écrase" l’id 14 ?
                    • 23050
                    • 1,842 Posts
                    Je pense que ça coince au niveau du snippet.
                    Même en l’appelant dans mon template de galerie, dans le code HTML, en l’affichant dans un div, ça ne fonctionne pas.

                    L’appel est le suivant : [[DocEnCours]] ... il n’y a rien de plus à mettre ?
                      • 11975
                      • 2,542 Posts
                      Le snippet DocenCours attend un parametres GET c’est à dire passé par l’url

                      Si tu souhaites le tester rajoute dans l’url de ton doc en consultation &docID=xx

                      :-)
                        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l