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

    j’aimerai regrouper dans un même topic des exemples d’appels de snippets, chunks et autres TVs, appels pouvant être imbriqués les uns dans les autres.

    Exemple :
    [!DropMenu? &startDoc=`[[UltimateParent]]`!]


    Voici les exemples demandés :

    • appel d’une TV dans une autre TV
    • appel d’une TV dans un paramètre de snippet

    • appel d’une TV dans le code d’un snippet

    • appel d’un snippet dans le code d’un snippet
    • utilisation d’un placeholder avec un snippet
    • appel d’un snippet dans une TV

    (note du modérateur : corrigé quelques pb de syntaxe de formattage de listes -> notamment [\li] au lieu d’un slash... )
      • 11975
      • 2,542 Posts
      Voici un exemple d’appel de snippet dans le code d’un snippet smiley

      Sa fonction est d’attacher une gallery(maxiGallery) à la page en cours
      En fonction e l’ultimate parent on ajoute un chunk qui est un texte de presentation.
      Pour bien faire il faudrait rajouter du code pour changer les parametres du doc en cours pour -> ne pas mettre en cache

      Pour que ce soit plus simple pour le client $action est une TV(radio) oui/non

      if(isset($action) && $action=="oui"){//TV passée en parametres du snippet
      
      
      $ultimateID = $modx->runSnippet('UltimateParent');
      $snippetName = 'MaxiGallery';
      $snParams = array();
      
      $snParams['manager_webgroups'] = 'Registered Users';
      $snParams['display'] = 'embedded';
      $snParams['embedtype'] = 'lightboxv2';
      $snParams['pics_in_a_row'] = 3;
      
      switch($ultimateID){
      
      case 58:
      $snParams['language'] = 'fr';
      $messIntro = "{{introGallery-FR}}\n";
      $output .= $messIntro; 
      $output .= $modx->runSnippet($snippetName, $snParams);
      return $output;
      break;
      
      case 71:
      $snParams['language'] = 'en';
      $messIntro = "{{introGallery-UK}}\n";
      $output .= $messIntro; 
      $output .= $modx->runSnippet($snippetName, $snParams);
      return $output;
      break;
      
      case 109:
      $snParams['language'] = 'de';
      $messIntro = "{{introGallery-DE}}\n";
      $output .= $messIntro; 
      $output .= $modx->runSnippet($snippetName, $snParams);
      return $output;
      break;
      
      
      }
      }
      
      


      Appel dans la page

      [[attachGallery? &action=`[*action*]`]]
        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • 6726
        • 7,075 Posts
        Merci pour l’exemple Heliotrope smiley

        Ce genre d’appels récursif est encore délicat à manier mais cela va changer avec le nouveau parser grin
          .: COO - Commerce Guys - Community Driven Innovation :.


          MODx est l'outil id
          • 8639
          • 24 Posts

          Est ce que quelqu’un pourrait m’indiquer ou trouver une definition de "TV"...?

          merci smiley
            • 21552
            • 24 Posts
              C'est curieux chez les marins ce besoin de faire des phrases !