We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 38506
    • 103 Posts
    tout est dans le titre...

    Comment appeller un snippet dans un autre avec modx revo ?
      • 36404
      • 307 Posts
      Salut,

      de la même manière que dans Evo $modx->runSnippet()
      http://rtfm.modx.com/display/revolution20/modX.runSnippet

      have swing
        réfléchir avant d'agir
        • 38506
        • 103 Posts
        Salut !

        et pareil pour appeller un chunk ? car moi ça marche pas cette formule

        $chunk_content = $modx->getChunk('MonChunk');
          • 22427
          • 793 Posts
          Peutêtre ça va - pas testé
          $chunk_obj = $modx->newObject('modChunk',array('name'=>'MonChunk'));
          $chunk_content = $chunk_obj->get('snippet');
            • 38506
            • 103 Posts
            je viens de tester ça n'a pas marché sad

            mon snippet que j'appelle dans la page mère :
            <?php
            switch ($_POST['departement'])
            {
                case "drome":
              $chunk_content = $modx->getChunk('offre_drome');;
             
                break;
                case "isere":
                    echo "[[+isere]]";
                break;
                case "rhone":
                   echo "[[+rhone]]";
              
               break;
               case "ardeche":
              
                echo "ça marche";
               break;
              
              default:
            echo "[[+touteoffre]]";
            }
            

            mon chunk ( offredrome) :
            [[!getPage?
               &elementClass=`modSnippet`
               &element=`getResources`
             
               &parents=`[[*id]]`
               &depth=`2`
               &limit=`6`
               &pageVarKey=`page`
               &resources=`-12,-13`.
             
               &includeTVs=`1`
               &includeContent=`1`
               &includeTVList=`ma_tv,tarif,ref,tel,departement`
               &tpl=`article`
               &tvFilters=`departement==Drome`
                &processTVs=`1`
                
               &pageLastTpl=`<li class=\"control\"><a[[+title]] href="[[+href]]">Dernière page</a></li>`
               &pageFirstTpl=`<li class=\"control\"><a[[+title]] href="[[+href]]">Première page</a></li>`
                
              ]]
                


              • 38506
              • 103 Posts
              ps : j'ai enlevé le double ;; et ça nemarche pas
                • 33976 ☆ A M B ☆
                • 571 Posts
                montilletp,

                Après un (rapide) coup d'oeil, il semblerait que tu ne renvoies jamais ton chunk :
                return $modx->getChunk('offre_dorme');
                


                Aussi, à vérifier que getChunk retourne le chunk parsed et non pas sa valeur brute
                  • 38506
                  • 103 Posts
                  peut etre bien smiley mais comment fais t-on pour vérifier tout ça ?
                    • 33976 ☆ A M B ☆
                    • 571 Posts
                    En retournant le chunk et en voyant si le résultat escompté est là ?

                    Si ton appel getPage est bien exécuté, alors c'est que c'est parsed, sinon (je suppose que tu auras la syntaxe de ton appel à getPage) c'est que cela n'est pas la cas (yeah, cap'tain obvious speaking!).
                      • 38506
                      • 103 Posts
                      c bien ça je ne retournais pas le chunk :s

                      parcontre du coup ça marche pour le coup.

                      mais ça n'a pas résolu mon problème originel lol

                      mon chunk :
                      [[!getPage?
                         &elementClass=`modSnippet`
                         &element=`getResources`
                       
                         &parents=`[[*id]]`
                         &depth=`2`
                         &limit=`6`
                         &pageVarKey=`page`
                         &resources=`-12,-13`.
                       
                         &includeTVs=`1`
                         &includeContent=`1`
                         &includeTVList=`ma_tv,tarif,ref,tel,departement`
                         &tpl=`article`
                          
                         &tvFilters=`departement==Drome`
                          
                          &processTVs=`1`
                          
                         &pageLastTpl=`<li class=\"control\"><a[[+title]] href="[[+href]]">Dernière page</a></li>`
                         &pageFirstTpl=`<li class=\"control\"><a[[+title]] href="[[+href]]">Première page</a></li>`
                          
                        ]]


                      mon snippet :

                      <?php
                      switch ($_POST['departement'])
                      {
                          case "drome":
                        echo "[[+drome]]";
                       
                          break;
                          case "isere":
                              echo "[[+isere]]";
                          break;
                          case "rhone":
                             echo "[[+rhone]]";
                        
                         break;
                         case "ardeche":
                      $chunk_content = $modx->getChunk('offre_drome');;
                      return $modx->getChunk('offre_drome');
                        
                        echo "ça marche";
                        
                        
                         break;
                        
                        default:
                      echo "[[+touteoffre]]";
                      }


                      car enfait le getpage affiche bien la première page avec tous les éléments trié selon la tv. Par contre quand on veux passer à la deuxième page ya un blanc ! plutôt que d'afficher les éléments...