We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 11975
    • 2,542 Posts
    Tu as bien activé le plugins pour être executé sur "OnParseDocument" ?

    :-)
      Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
      • 28173
      • 409 Posts
      Affirmatif....
        • 11975
        • 2,542 Posts
        Bizarre huh
        Tu peux activer le mode debug de PHx (onglet configuration du plugins, passe la valeur debug à 1) pour voir en detail le traitement de ton template.


        :-)
          Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
          • 28173
          • 409 Posts
          Voilà ce qui se passe qd je clique sur "Menu 1" :
          18 [23:25:24] MODx Chunks -> Merging all chunk tags
          19 [23:25:24] MODx / PHx placeholder variable: phx
          20 [23:25:24]   |--- Input = '&_PHX_INTERNAL_&'
          21 [23:25:24]   |--- Modifier = 'if'
          22 [23:25:24]   |--- Options = '15'
          23 [23:25:24]   |--- Output = '15'
          24 [23:25:24]   |--- Modifier = 'is'
          25 [23:25:24]   |--- Options = '&_PHX_INTERNAL_091_&!GetField?field=`id` &parent=`1` &parentLevel=`1` &topid=`2`!&_PHX_INTERNAL_093_&'
          26 [23:25:24]   |--- Condition = '0'
          27 [23:25:24]   |--- Output = '15'
          28 [23:25:24]   |--- Modifier = 'then'
          29 [23:25:24]   |--- Condition = '0'
          30 [23:25:24]   |--- Output = ''
          31 [23:25:24]   |--- Modifier = 'else'
          32 [23:25:24]   |--- Options = '<h1>&_PHX_INTERNAL_091_&!GetField?field=`pagetitle` &parent=`1` &parentLevel=`1` &topid=`2`!&_PHX_INTERNAL_093_&</h1>'
          33 [23:25:24]   |--- Condition = '0'
          34 [23:25:24]   |--- Output = '<h1>&_PHX_INTERNAL_091_&!GetField?field=`pagetitle` &parent=`1` &parentLevel=`1` &topid=`2`!&_PHX_INTERNAL_093_&</h1>'
          

          Et voilà ce que j’ai qd je clique sur "Menu 1 > sous-menu 3" :
          18 [23:28:30] MODx Chunks -> Merging all chunk tags
          19 [23:28:30] MODx / PHx placeholder variable: phx
          20 [23:28:30]   |--- Input = '&_PHX_INTERNAL_&'
          21 [23:28:30]   |--- Modifier = 'if'
          22 [23:28:30]   |--- Options = '20'
          23 [23:28:30]   |--- Output = '20'
          24 [23:28:30]   |--- Modifier = 'is'
          25 [23:28:30]   |--- Options = '&_PHX_INTERNAL_091_&!GetField?field=`id` &parent=`1` &parentLevel=`1` &topid=`2`!&_PHX_INTERNAL_093_&'
          26 [23:28:30]   |--- Condition = '0'
          27 [23:28:30]   |--- Output = '20'
          28 [23:28:30]   |--- Modifier = 'then'
          29 [23:28:30]   |--- Condition = '0'
          30 [23:28:30]   |--- Output = ''
          31 [23:28:30]   |--- Modifier = 'else'
          32 [23:28:30]   |--- Options = '<h1>&_PHX_INTERNAL_091_&!GetField?field=`pagetitle` &parent=`1` &parentLevel=`1` &topid=`2`!&_PHX_INTERNAL_093_&</h1>'
          33 [23:28:30]   |--- Condition = '0'
          34 [23:28:30]   |--- Output = '<h1>&_PHX_INTERNAL_091_&!GetField?field=`pagetitle` &parent=`1` &parentLevel=`1` &topid=`2`!&_PHX_INTERNAL_093_&</h1>'
          


          Visiblement dans le deuxième cas on constate que le script ne récupère pas l’ID du parent... pourtant il devrait non ?
            • 28173
            • 409 Posts
            En fait à mieux y regarder, je me demande si le pb ne vient pas des apostrophes ``
            En effet dans le placeholder, il y a des ` qui normalement marquent le début et la fin d’un placeholder dans PHx

            Question : par quoi pourrais-je les remplacer pour garder le code valide ?

            Edit : je confirme que c’est un pb de `
            La syntaxe [+phx:if=`[*id*]`:is=`4`:then=`quatre`:else=`pas4`+] marche nickel
              • 11975
              • 2,542 Posts
              Je pourrai t’aider d’avantage si j’avais un screenshot de ton arborescence.
              Ca me permettrait d’avoir une vision d’ensemble.
              Pour les `` (backticks) je ne pense pas (je n’affirme rien)

              :-)
                Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                • 28173
                • 409 Posts
                Tu voudrais une capture de quelle arborescence ? Celle de mes documents dans MODx ?

                Car après moult tests, je suis de plus en plus persuadé que le pb provient des backticks qui sont inclus dans l’appel du snippet getField. Et puis en plus c’est logique : comment PHx saurait à quel moment la variable à tester est terminée s’il y a des backticks partout ?!

                Je pense que la solution est plus à chercher par là : comment utiliser des backticks à l’intérieur d’une fonction qui en utilise elle même ? Un caractère d’échappement ? Un caractère alternatif ?
                  • 28173
                  • 409 Posts
                  Autoréponse : grâce à un chunk bien sûr wink

                  Bon ça alourdi un peu le truc je trouve, de ne créer un chunk que pour ça, mais c’est faute de mieux pour l’instant smiley
                    • 11975
                    • 2,542 Posts
                    Tu voudrais une capture de quelle arborescence ? Celle de mes documents dans MODx ?

                    Pour avoir une vision d’ensemble.

                    Je suis étonné que les bacticks soient à l’origine du probleme.
                    Il faudrait regarder le code de PHx pour voir comment ils parsent le contenu ou du moins signaler à bS (auteur du plugins) un possible bug

                    :-)
                      Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                      • 28173
                      • 409 Posts
                      Autant pour moi, je pensais avoir trouvé la solution à mon pb... il n’en est rien, je me retrouve dans le même cas qu’avant mes soupçons sur les backticks...

                      Voici donc une capture de mon arborescence :



                      Donc pour résumer ce que je souhaite : qd on est sur la page Présentation, il ne doit rien s’afficher. Mais si je me trouve sur la page Historique, alors "Présentation" doit s’afficher.

                      En l’état actuel, il s’affiche "Présentation" aussi sur la page Présentation (qui est dans GetField le parent maximum, donc c’est correct).

                      Les logs de PHx sont finalement tjrs d’actualité