We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 32920
    • 5 Posts
    Bonjour à tous,
    j’utilise modx 0.9.5 pour la création de mon site.
    J’ai intégré le moteur de recherche AjaxSearch, d’ailleurs très bien fait.
    Je me suis confronté à un soucis fonctionnel.
    J’utilise le moteur de recherche en désactivant l’Ajax grin
    Le but est de lancer une recherche et que le résultat s’affiche sur une autre page.
    J’ai lu la doc livrée avec le snippet, j’ai suivi les instructions et il me semble avoir implémenté les bon paramètres. Il n’en est rien ça ne marche pas. oui après le post, je suis redirigé vers l’id de la page que j’ai indiqué. et elle est vide, aucun résultat !

    Ai-je oublié quelque chose ? je n’ai rien mis dans la page cible, faut-il que j’y ajoute un quelconque paramètre ?

    Donc voila, j’ai fait part de ma galere, je vais continuer de chercher, si je trouve avant vous je vous dis ! grin

    ci dessous le code pour appeler le moteur de recherche :

    [!AjaxSearch?&AS_landing=`26`&ajaxSearch=`0`&AS_showForm=`1`&AS_showResults=`0`&grabMax=`100`!]

    - &AS_landing [int] (optional) Document id you would like the search to show on. (For non-ajax search)
    - &ajaxSearch [1 | 0] (optional) Use the ajaxSearch. Default is 1 (true)
    - &AS_showForm [1 | 0] (optional) Show the search form with the results. Default is 1 (true)
    - &AS_showResults [1 | 0] (optional) Show the results with the snippet. (For non-ajax search)
    - &grabMax [int] (optional) The number of results per page returned for non-ajax search
    and for the more results page.
      C’est celui qui le dit qui l’est !
      • 30897
      • 311 Posts
      Salut,

      Il faut indiquer à la page cible qu’elle reçoit les paramètres d’AjaxSearch, en l’occurence dans ta page dont l’ID est 26, il faut simplement que tu ajoutes le code suivant :

      [!AjaxSearch!]


      @+
        TylerD - In MODx we trust
        [Derni
        • 32920
        • 5 Posts
        Merci TylerD !
        Je viens de tester et ça marche !
        Encore merci et bonne après midi ! wink
          C’est celui qui le dit qui l’est !
          • 21101
          • 169 Posts
          hello

          je remonte ce topic car j’ai le meme probleme, j’ai testé la solution de rajouter [!AjaxSearch!] dans ma page de résultat mais ça ne fonctionne pas...

          j’ai ma meme config sauf que j’utilise le mode Ajax, quand je clique sur "Plus de résultats", il m’affiche la page concernée avec seulement le formulaire sans les résultats supplémentaires
            Play no games
            • 2327
            • 214 Posts
            Désolé..même problème..quelqu’un peut-il indiquer une syntaxe simple pour avoir le formulaire en page d’accueil (sans le bidule Ajax) et la réponse en page XXX.

            D’autre par, quelqu’un a-til testé HyperFlexSearchForm et stabilo, puisqu’il semble qu’il y ait un pb avec le highlight... ?
              • 5811
              • 1,717 Posts
              La page qui réceptionne les résultats (landing_page) doit comporter l’appel suivant :
              [!AjaxSearch? &ajaxSearch=`0` &AS_showForm=`0`!]


              &ajaxSearch=`0` : pas de bidule ajax
              &AS_showForm=`0` : pas de formulaire de saisie de mots clés

              Après l’appel classique (en évitant le bidule Ajax) est :
              [!AjaxSearch? &ajaxSearch=`0` &AS_landing=`xxx`!]

              où xxx est la page de résultats (landing page)

              Avec la mise en valeur des chaines recherchées (highlighting) :
              [!AjaxSearch? &ajaxSearch=`0` &AS_landing=`xxx` &extract=`1`!]
                • 2327
                • 214 Posts
                Merci Coroico... shocked shocked shocked shocked

                Une chose cependant : à part le problème d’highlight dont tu as trouvé qu’il semblait buggué, normalement, AjaxSearch ne renvoie que les titres de pages en liens ou il est possible de disposer de liens qui pointent directement sur les mots trouvés...

                Je cherche "TOTO", il trouve 10 TOTO, et ces TOTO (ou le link de leur page) nous emène directement sur l’occurrence de la page, bref comme le fait Firefox dans son système de recherche...

                Ca existe celà ? Ou pas du tout ?

                Merci encore en tout cas !

                  • 5811
                  • 1,717 Posts
                  huh Je vais essayer de ré-expliquer ce que j’ai compris :

                  Une chose cependant : à part le problème d’highlight dont tu as trouvé qu’il semblait buggué, normalement, AjaxSearch ne renvoie que les titres de pages en liens ou il est possible de disposer de liens qui pointent directement sur les mots trouvés...

                  Normalement avec l’option extract AjaxSearch affiche :
                  - le titre du document, qui est un lien vers le document
                  - le champ description du document
                  - l’extrait du content comportant le ou les mots recherchés

                  Lorsque les mots sont mis en évidence (highlighting), il ne s’agit que d’un chgt de style (couleur, police ...) il n’y a pas de lien qui, par simple clic du mot t’emmènerais vers le mot dans le document.
                  Est ce que cela correspond vraiment à un besoin ?

                  Je cherche "TOTO", il trouve 10 TOTO, et ces TOTO (ou le link de leur page) nous emène directement sur l’occurrence de la page, bref comme le fait Firefox dans son système de recherche...

                  Je comprends en fait en fonction de l’extrait entourant le mot "toto" tu voudrais pointer directement sur la portion de document qui t’intérresserait.
                  Cela ne me semble pas très facile, car pointer vers autre chose que le début du document, sous-entend que tu as positionné d’une façon ou d’une autre une ancre HTML près du mot qui t’intéresse. Ce qui signifie qu’il faut à la volée avant affichage du document parser (analyser) le texte, trouver en fonction de l’extrait le mot "toto" qui t’intéresse, y ajouter l’ancre et se positionner dessus
                  C’est pas en natif dans AjaxSearch et cela mérite réflexion grin

                  Mais je préssens bien le lien avec ton post générer un index de automatiquement wink
                    • 2327
                    • 214 Posts
                    Merci Coroico.

                    Ce que je ne comprends pas, c’est que si highlight est (ou serait..) normalement capable de surligner les occurences trouvées dans la page résultante, c’est qu’il parse les occurences pour y ajouter un span quelque chose avec un class quelque chose....

                    Donc pourquoi ne pas y insérer une ancre par la même occasion au mompent du parsing...puisque c’est fonctionnellement la même opération ?
                      • 5811
                      • 1,717 Posts
                      Bonne année à tous.

                      Astrolabe, pour que le highligthing fonctionne sur la page trouvée, il faut avoir une balise <body> simple.
                      En effet le code du plugin Search_Highlight est le suivant:

                      $body = explode("<body>", $output); // break out the head
                      puis plus loin :
                      $body[1] = preg_replace($pattern, $replacement, $body[1]);
                      Si tu as comme moi une balise <body id=’type-A’> ou en tout cas différente de <body>, le programme ne trouve pas de balise et donc $body[1] est vide, donc il n’y a rien à mettre en évidence grin

                      La solution minimum est donc de changer le plugin en remplaçant ligne 72 : "<body>" par "<body" (sans fermer la parenthèse).

                      Reste que l’idéal serait que ajaxSearch indique au plugin où il doit faire une subsitution. Dans mon cas je me retrouve avec une substitution dans le menu alors que je veux uniquement changer le contenu. sad
                      Donc un paramètre de type where = "mot clé" utilisé par le plugin serait le bienvenu wink