We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 33030
    • 24 Posts
    Alors voilà l’ordre précis où j’appelle les élements :

    1 - appel de tvExplorer et affichage du formulaire :
    [[tvExplorer? &dittoName=`Ditto` &formTPL=`form_recherche` &dittoSnippetParameters=`...` ]]
    [+tve.searchForm+]


    2 - affichage des résultats et lancement de mon snippet de vérification du nombre :
    [+tve.dittoList+]
    [[affichageproduits]]



    Et dans mon snippet "affichageproduits", j’ai mis :
    $dittoID = $GLOBALS['dittoID'];
    echo "dittoID: ".$dittoID;


    Et là, il ne m’affiche que "dittoID: "...
    Je n’arrive donc pas à récupérer l’id de Ditto appelé par tvExplorer...
    Je suis un peu perdu.
      • 33030
      • 24 Posts
      Quote from: heliotrope at Jan 11, 2008, 04:22 PM

      Pour les caracrères accentués, le probleme vient certainement du RTE (tinyMCE).

      dans la configuration de l’editeur il faut choisir raw pour entitiy encoding (pas sur du nom de la propriete).
      Le plus ennuyeux c’est qu’il va te falloir réenregistrer tous les documents prédemment créés.

      :-)

      Je viens de faire l’essai en configurant le tinyMCE tel que tu me l’as dit.
      J’ai réenregistré les documents concernés et j’en ai même créé de nouveaux, mais ça ne fonctionne toujours pas avec les accents et autres "ç"...
      C’est étrange. Aurais-tu d’autres idées de pistes?
      Merci d’avance pour toutes tes réponses.
        • 11975
        • 2,542 Posts
        Alors,

        si aucune valeur n’a été donnée à tveID, dittoID sera vide également.
        En fait tveID<=>dittoID ont la même valeur.

        le code

        $dittoID = $GLOBALS[’dittoID’];
        $total=$modx->getPlaceholder($dittoID."total");

        devrait fonctionner.

        Si le site est public, tu peux m’envoyer un PM avec un identifiant de connection.
        Je jetterai un oeil.

        :-)
          Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
          • 33030
          • 24 Posts
          le site est en local pour l’instant sad

          J’ai fait un essai en spécifiant un ID lors de l’appel de tvexplorer : &tveID=`tvx`
          Puis j’appelle :
          [+tvx_tve.searchForm+]

          et
          [+tvx_tve.dittoList+]
          [[affichageproduits]]
          


          Dans mon snippet, j’ai remis :
          $dittoID = $GLOBALS['dittoID'];
          $total=$modx->getPlaceholder($dittoID."total");


          mais ça ne fonctionne toujours pas...
          huh
            • 11975
            • 2,542 Posts
            Est ce que tu peux poster le code complet de ton snippet?

            :-)
              Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
              • 33030
              • 24 Posts
              Voici le code global de mon snippet appelé après tvExplorer :

              <?php
              $docid=$modx->documentObject['id'];
              
              if(!isset($_GET['nature_bien'])){
              
                 $modx->runSnippet("Ditto", array("parents"=>"$docid", "depth"=>"1", "tpl"=>"liste1bien", "paginate"=>"1", "summarize"=>"9", "paginateAlwaysShowLinks"=>"1", "sortBy"=>"menuindex", "sortDir"=>"asc", "tplPaginatePrevious"=>"precedent", "tplPaginateNext"=>"suivante"));
                 $total=$modx->getPlaceholder("total");
                 for($i=0;$i<$total;$i++){
                    $output.=$modx->getPlaceholder("item[$i]")."\n";
                 }
              }else{
              $dittoID = $GLOBALS['dittoID'];
              echo "dittoID: ".$dittoID;
              $total=$modx->getPlaceholder($dittoID."total");
              }
              
              echo "total : ".$total;
                      if($total<9){
                         $nb=9-$total;
                         for($i=0;$i<$nb;$i++){
                             $output.='<div class="contenant_biens"></div>'."\n";
                         }
                      }else{
                          $totalpages=$modx->getPlaceholder("totalPages");
                          if($modx->getPlaceholder("currentPage")==$totalpages){
                              $diff=$total-(9*($totalpages-1));
                              if($diff<9){
                                 $nb=9-$diff;
                                 for($i=0;$i<$nb;$i++){
                                      $output.='<div class="contenant_biens"></div>'."\n";
                                 }
                             }
                         }
                     }
              echo $output;
              ?>
                • 11975
                • 2,542 Posts
                Testé vite fait chez moi cela fonctionne tongue

                Essaie avec un print_r($modx->placeholders);
                Pour voir la liste des placeholders et comparer avec les noms des variables de ton snippet.

                :-)
                  Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                  • 33030
                  • 24 Posts
                  Voici la réponse à print_r($modx->placeholders); :

                  Array ( [phx] => &_PHX_INTERNAL_& )


                  Autant dire qu’il ne trouve pas grand chose.

                  Et du coup maintenant que j’ai mis un &tveID qui vaut "tvx", le moteur de recherche ne marche plus...
                  En fait dans mes variables passées en GET il me met par exemple : tvx_nb_pieces alors qu’auapravant j’avais juste nb_pieces.

                  Mais comme dans la création de mon formulaire, j’ai :
                  <div id="fond_recherche">
                     <div id="recherche">
                  <form action="[~[*id*]~]" method="get" >
                  <h2>Affinez votre recherche</h2>
                  <fieldset>
                  [+tve.nature_bien:filter->9+]
                  </fieldset>
                  <fieldset>
                  [+tve.nb_pieces:filter->9+]
                  </fieldset>
                  <fieldset>
                  [+tve.ville:fullText->true:label->Ville+]
                  </fieldset>
                  <fieldset>
                  [+tve.code_postal:fullText->true:label->ou code postal+]
                  </fieldset>
                  <fieldset>
                  [+tve.ville_proche:filter->9+]
                  </fieldset>
                  <fieldset>
                  <input type="submit" name="search" value="Lancer la recherche" />
                  </fieldset>
                  </form>
                  </div>
                  </div>


                  Il ne marche plus...
                  Et j’ai bien essayé en ajoutant un "tvx_" devant l’appel de chaque TV mais rien n’y fait...
                  Merci de ton aide. undecided
                    • 11975
                    • 2,542 Posts
                    Salut,

                    il te faut prefixer uniquement l’attribut name du submit
                    name="tvx_search"

                    Et également les placeholders.

                      Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                      • 33030
                      • 24 Posts
                      en effet ça marche beaucoup mieux! Merci beaucoup.

                      Par contre , j’ai toujours mon souci de récupération du total de résultats pour ditto lancé par tvExplorer...

                      Ce print_r ne me dit rien qui vaille :
                      Array ( [phx] => &_PHX_INTERNAL_& )


                      Merci d’avance pour tes lumières! (et bonne journée wink)