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

    J’avance sur mon premier projet MODx et je rencontre quelques difficultés.

    J’ai mis en place slideshow à l’aide du script smooth slideshow . Pour que ce slideshow soit simple à mettre à jour j’ai crée des TVs :

    [*image1*]
    [*accroche1*]
    [*phrase1*]
    [*lien1*]


    J’ai dupliqué 3 fois ces TVs (car 3 images à faire tourner). D’où ma première question : n’est il pas possible de répéter(ou dupliquer) un groupe de de TVs plutôt que de dupliquer chacune de ces variables ?

    Ensuite j’ai crée un chunk contenant :
    <script type="text/javascript">
    countArticle = 0;
    var mySlideData = new Array();
    mySlideData[countArticle++] = new Array(
    '[(base_url)][*image1*]',
    '[*lien1*]',
    '[*accroche1*]',
    '[*phrase1*]'
    );
    
    [+phx:if=`[*image2*]`:isnot=``:then=`mySlideData[countArticle++] = new Array('[(base_url)][*image2*]','[*lien2*]','[*accroche2*]','[*phrase2*]');`+]
    [+phx:if=`[*image3*]`:isnot=``:then=`mySlideData[countArticle++] = new Array('[(base_url)][*image3*]','[*lien3*]','[*accroche3*]','[*phrase3*]');`+]
    </script>


    J’ai utilisé phx pour éviter d’avoir un dysfonctionnement au cas où il n’y aurait pas d’images 2 et/ou 3. Le problème c’est que [countArticle++] fini comme la balise de phx d’où une erreur. Comment puis échapper cette chaine ?


    Merci smiley
      Site pro : [url=http://www.rezonova.com]Rezonova : d
      • 6726
      • 7,075 Posts
      Quote from: Nico at Nov 13, 2007, 04:20 AM
      J’ai dupliqué 3 fois ces TVs (car 3 images à faire tourner). D’où ma première question : n’est il pas possible de répéter(ou dupliquer) un groupe de de TVs plutôt que de dupliquer chacune de ces variables ?

      Oui bien sûr c’est possible et c’est même une application très classique de Ditto smiley
      Tu créé un répertoire image, et tes images sont autant de documents MODx enfant.
      Ensuite tu insère un appel à Ditto là où tu veux faire tourner tes 3 images :

      [tt][!Ditto? &startId=`id_de_ton_repertoire_image` &display=`3` &tpl=`ton_chunk`!][/tt]

      Tu créé un chunk avec ton template que tu nous as donné ci-dessu, la seule différence c’est que tu utilise des placeholders (tu remplace [* par [+ et *] par +] ).

      Quote from: Nico
      J’ai utilisé phx pour éviter d’avoir un dysfonctionnement au cas où il n’y aurait pas d’images 2 et/ou 3. Le problème c’est que [countArticle++] fini comme la balise de phx d’où une erreur. Comment puis échapper cette chaine ?

      Oui c’est un problème identifié et documenté sur le wiki... malheureusement aucune solution connue pour l’instant sad
        .: COO - Commerce Guys - Community Driven Innovation :.


        MODx est l&#39;outil id
        • 21473
        • 42 Posts
        Merci David

        une question bête quand tu m’indique : "tes images sont autant de documents MODx enfant." Je fais comment ? Je pensais créer un document puis changer son type en image mais ça n’existe pas... Comment je fais ça ? embarrassed
          Site pro : [url=http://www.rezonova.com]Rezonova : d
          • 21473
          • 42 Posts
          En fait je crois avoir compris smiley

          Je reviens donner des nouvelles tout à l’heure...
            Site pro : [url=http://www.rezonova.com]Rezonova : d
            • 21473
            • 42 Posts
            ça fonctionne parfaitement smiley

            La démarche complète :

            Je me suis créé un gabarit "bandeau" qui me sert juste à assigner mes TVs ([+image+],[+lien+],[+accroche+],
            [+phrase+])

            Comme me l’as indiqué j’ai créé un répertoire bandeau dans lequel j’ai placé des pages en utilisant le modèle "bandeau"

            Ensuite dans le modèle de la page où je souhaite placer ce slideshow je place ce code suivant :

            	<div class="jdSlideshow" id="mySlideshow"></div>
            
            	<script type="text/javascript">
            	function startSlideshow() {
            	var slideshow = new timedSlideShow($('mySlideshow'), mySlideData);
            	}
            	addLoadEvent(startSlideshow);
            	</script>
            
            	<script type="text/javascript">
            	countArticle = 0;
            	var mySlideData = new Array();
            
            	[!Ditto? &startID=`50` &display=`all` &tpl=`smooth`!]
            
            	</script>


            Et le contenu de mon chunk smooth :

            mySlideData[countArticle++] = new Array(
            '[(base_url)][+image+]',
            '[+lien+]',
            '[+accroche+]',
            '[+phrase+]'
            );


            Et du coup cela me règle aussi le problème lié à PHx puisque j’en ai plus besoin. Il suffit de mettre dans les paramètres ditto display=`all` et le tour est joué smiley

            Merci encore
              Site pro : [url=http://www.rezonova.com]Rezonova : d
              • 36624
              • 535 Posts
              salut,
              peut être que je me trompe mais j’ai l’impression qu’il y a exactement ce qu’il te faut dans le snippet MaxiGallery
              Si c’est le cas alors c’est, à mon avis, bien plus pratique que de créer un document par image.. wink

              [!MaxiGallery? &display=`embedded` &embedtype=`smoothgallery`!]
              copié du wiki

              au plaisir
                CTRL+SHIFT+U - Clear Cache
                CTRL+SHIFT+H - Hiding Heft Panel
                CTRL+SHIFT+N - Fast Create Resource
                CTRL+ALT+P - Preview Recource (in edit resorce window)
                CTRL+ALT+S - Save
                • 21473
                • 42 Posts
                Merci Manu,

                par contre je ne comprends comment retrouve tu les ID des images pour les mettre dans le paramètre pic_query_ids ?
                  Site pro : [url=http://www.rezonova.com]Rezonova : d
                  • 36624
                  • 535 Posts
                  dans l’admin de maxigallery (en front-end donc) tu peux voir l’id de chaque image.
                    CTRL+SHIFT+U - Clear Cache
                    CTRL+SHIFT+H - Hiding Heft Panel
                    CTRL+SHIFT+N - Fast Create Resource
                    CTRL+ALT+P - Preview Recource (in edit resorce window)
                    CTRL+ALT+S - Save
                    • 21473
                    • 42 Posts
                    Ok vu.

                    J’ai testé, c’est vrai que c’est une bonne solution aussi, mais je pense qu’il va me manquer la gestion du lien. Dans la solution décrite plus haut j’ai la possibilité de mettre un lien vers une page de mon site alors qu’avec maxigallery je n’ai pas la main sur le lien (forcément l’image)
                      Site pro : [url=http://www.rezonova.com]Rezonova : d