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,

    J’utilise Ditto pour générer un menu qui liste des fiches (voir la page ici). C’est le menu gris de gauche qui me pose souci.

    En bas du menu, j’affiche les liens de pagination. En cliquant sur ">>" on arrive sur la suite du menu (tout en gardant la fiche du projet initial au centre).
    Sur la 2ème partie du menu, quand je clique sur un projet, j’atterris bien sur la bonne fiche, mais le menu revient comme au premier chargement de la rubrique : c’est à dire, le menu affiche les 7 premiers projets. Pour des raisons d’utilisabilité, je souhaiterai rester sur la 2ème partie du menu.

    Pour cela, il suffirait pour les liens de la 2ème partie du menu, d’ajouter le &start=7 à la fin de chaque url. Ainsi, quand je clique sur un projet, je reste avec la 2ème partie du menu affichée.

    Est-ce que c’est une fonctionnalité qui est initialement prévue et qui buggerait dans la beta 2 ? Est-ce que ce n’est pas prévu ? Est-ce que j’ai oublié de spécifier un paramètre ?

    Merci pour votre aide wink

      • 11975
      • 2,542 Posts
      Salut perrine,

      Ce cas de figure ne semble pas être couvert par ditto.
      Tu pourrais essayer de te servir de l’integration de phx dans la derniere beta pour ajouter le parametre au [+link+] dans le chunk de ditto.
      Par exemple, verifier si &start est defini et si oui =>ajouter &offset=$_GET[’start’] à [+link+]

      Ceci dit je peux totalement me tromper et l’ideal serait de poser la question directement à mark pour être fixé.


      :-)
        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • 23050
        • 1,842 Posts
        Je vois souvent parler de ce PHx depuis un moment sans vraiment comprendre comment l’utiliser... J’imagine que c’est aussi puissant que le concept de TV mais pour le coup, j’ai du mal.

        J’ai feuilleté la doc sur le wiki et si j’ai bien compris PHx permet de tester un placeholder pour en modifier l’output ?

        Par exemple, verifier si &start est defini et si oui =>ajouter &offset=$_GET['start'] à [+link+]

        Concrètement, je fais quoi avec &offset=$_GET[’start’] ?

        Je vais tester ta solution quand j’aurai compris comment modifier mon placeholder puis j’irai voir Mark si cela ne fonctionne pas.

        PS : En lisant la doc, je me rends compte que PHx pourrait peut-être répondre à mon problème avec les troncatures de Ditto. Est-ce qu’on peut imaginer une fonction capable de prendre le résumé de mon doc pour en changer les entités html ?
          • 11975
          • 2,542 Posts
          J’ai pas encore trouver le temps de tester phx mais il semble offrir un beau potentiel en attendant le parser récursif et les tests conditionnels.

          je crois que tu pourrais t’appuyer sur les phx:modifier qui permettent d’appeler une snippet phx-monSnippet (syntaxe à vérifier) pour appliquer un traitement à la valeur.
          Donc si je me fourvoie pas tu pourrais créer un "modifier" qui récupère $_GET[’start’] et si celui est numerique rajouter au placeholder [+link+] cette valeur.
          Pour &offset, il faut que je vérifie, je peux me tromper. Mon doute provient du fichier/config/request.inc.php qui interdit de passer la valeur &start depuis l’url mais je ne suis pas sur que cela te concerne puisque tu n’utilises pas le param &config

          :-)
            Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
            • 11975
            • 2,542 Posts
            Perrine,

            est ce que tu peux essayer le test suivant:
            Dans ton chunk ditto
            remplace [+link+] par [+link:addStart+]

            Crée un nouveau snippet =>phx:addStart

            if(is_numeric($_GET['start'])){
            $link = $output . "&start=".$_GET['start'];
            }else{
            $link = $output;
            }
            return $link;
            


            :-)
              Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
              • 23050
              • 1,842 Posts
              Tu es sur la bonne voie mais y’a une boulette quelque part.

              Voici mon chunk:
              <li>[+link:addStart+]</li>


              Et voici le code qui est généré :
              <li><a href="index.php?id=84">Read more...</a>&start=7</li>

              Le &start est en dehors du lien

              Et puis, je suis embêtée car le chunk que je mentionne ci-dessus était juste pour tester le snippet... mais le mien ressemble à ça (car je souhaite faire le lien sur le titre de la page) :
              <li><a href="[~[+id+]~]">[+pagetitle+]</a></li>


              PS : Au passage, PHx est vraiment puissant ! Je viens de tester le modifier "notags", il permet de supprimer tous les éléments html d’un output... Je commence à entrevoir toutes possibilités offertes par ça ! wink
                • 11975
                • 2,542 Posts
                Ce sera plus facile avec ton chunk.
                On va créer l’url directement dans le snippet.

                Essaie avec [+id:addStart+]

                <?php
                global $modx;
                $link = $modx->makeUrl($output);
                
                if(is_numeric($_GET['start'])){
                $link .= "&start=" . $_GET['start'];
                }
                return $link;
                ?>
                
                


                C’est pas top puisque le code ne tient pas compte des Friendly urls mais il demande qu’à être amélioré.
                J’ai essayé d’utiliser la fonction smartModxUrl de BS mais sans succès.

                :-)

                EDIT: j’ai modifié un peu le code.
                Il faut que tu élimines [~~] de ton chunk
                  Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                  • 23050
                  • 1,842 Posts
                  Presque presque !

                  <li><a href="[~/v2/index.php?id=84&start=7~]">Maison de Maître</a></li>


                  J’ai modifié le chunk pour supprimer les [~ ~] de part et d’autre de l’url :

                  <li><a href="[+id:addStart+]">[+pagetitle+]</a></li>
                    • 23050
                    • 1,842 Posts
                    Ah, on a posté en même temps smiley Ok pour les [~ ~].

                    C’est pas gênant de ne pas les utiliser ? Puisque cela fait partie de la syntaxe de base de MODx ? Détourner un placeholder de la sorte n’est pas gênant ?

                    En tout les cas, chapeau bas Helio ! wink
                      • 23050
                      • 1,842 Posts
                      Tiens ! Les urls dans le menu se construisent comme si j’avais l’url rewriting activée ce qui n’est pas le cas.

                      Bizarre, ça a marché l’espace d’un instant... le temps de poser le message ci-dessus.

                      Edit : Ah non c’est bon... je n’avais pas fait la mise à jour du snippet avec les messages qui se chevauchaient.