We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
  • Добрый день уважаемые.

    У меня возникла проблема с добавлением в результаты поиска своих данных из других таблиц. Как я увидел в AjaxSearch есть параметр whereSearch где можно указать таблицу с которой искать и поля в которых искать но как я понял там надо еще писать файл конфигурации и я не совсем понял где и когда надо его написать и какой его формат.

    Скажем так есть такая задача:

    Есть таблица в которой есть id, name, preview_text, detail_text. Нужно чтобы AjaxSearch искал в этой таблице данные выводил результат поиска и выводил ссылку в виде:
    $modx->makeURl(1,’’,’’,’&id=’ . $id); // может ошибаюсь но вы думаю поняли, что я в ссылке хочу.

    Как это сделать я в документации не разобрался пока мне пишет, что нету файла конфигурации для этой таблицы ну в принципе я это понимаю я его не создавал но нету даже простого примера как такой файл создать.

    Помогите пожалуйста!
    • вот нашел некоторые еще вещи но при этом уже вообще поиск перестал работать:


      файл my.conf.php
      <?php

      function saveHtml($results){

      // replace line Breaking by space
      $results = stripLineBreaking($results);
      // strip javascript tags
      $results = stripJscripts($results);

      return $results;
      }

      function news(& $main,& $joined, $listIDs){

      $main = array(
      ’tb_name’ => "news",
      ’id’ => ’id’,
      ’searcheable’ => array(’name’,’content’,’short_content’),
      ’date’ =>array(),
      ’filters’ => array(),
      ’jfilters’ => array()
      );

      $joined = NULL;
      }
      ?>

      Вызов сниппета:
      Это тот который выводить должен:
      [!AjaxSearch? &ajaxSearch=`0` &tplResult=`results` &showInputForm=`0` &extract=`1` &whereSearch=`news` &config=`my` &language=`russian-UTF8`!]
      Это тот который форму выводит:
      [!AjaxSearch? &ajaxSearch=`0` &landingPage=`112` &showResults=`0` &showIntro=`0` &whereSearch=`news` &config=`my` &stripOutput=`saveHtml` &language=`russian-UTF8`!]

      Получается пустая страница, нужна скорая помощь мож кто разбирался уже
      • Можно закрыть тему, я просто не подумал, что ajaxsearch вызывается 2 раза а следовательно и функция в конфиге определяется дважды.

        Всем спасибо кто хотя-бы посмотрел.
          • 46295
          • 5 Posts
          день добрый пробую сделать как написано у вас хочу организовать поиск по таблице modx_web_user_attributes интересуют как это сделать подскажите пожалуйста ! ! зарание блогадарен
            • 46295
            • 5 Posts
            день добрый пробую сделать как написано у вас хочу организовать поиск по таблице modx_web_user_attributes интересуют как это сделать подскажите пожалуйста ! ! зарание блогадарен
              • 46295
              • 5 Posts
              вот код конфига

              <?php

              function saveHtml($results){

              // replace line Breaking by space
              $results = stripLineBreaking($results);
              // strip javascript tags
              $results = stripJscripts($results);

              return $results;
              }

              function modx_web_user_attributes(& $main,& $joined, $listIDs){

              $main = array(
              ’tb_name’ => "modx_web_user_attributes",
              ’id’ => ’id’,
              ’searcheable’ => array(’id’,’phone’,’fullname’),
              ’date’ =>array(),
              ’filters’ => array(),
              ’jfilters’ => array()
              );

              $joined = NULL;
              }
              ?>
              ++++++++++++++++++++++++
              вот вызов сниппета
              [!AjaxSearch? &ajaxSearch=`0` &landingPage=`344` &showResults=`0` &showIntro=`0` &whereSearch=`modx_web_user_attributes` &config=`my` &stripOutput=`saveHtml` &language=`russian-UTF8`!]

              [!AjaxSearch? &ajaxSearch=`0` &tplResult=`results` &showInputForm=`0` &extract=`1` &whereSearch=`modx_web_user_attributes` &config=`my` &language=`russian-UTF8`!]

              на странице поиск воводится 2ой раз т.е получается 2поиска один ищет по умолчанию второй хочу что бы искал по таблице modx_web_user_attributes
              ++++++++++
              выдает такю ошибку SQL > SELECT . FROM WHERE 1 GROUP BY . HAVING 1 ORDER BY `publishedon`,`pagetitle`
              что я делаю не так
                • 46295
                • 5 Posts
                вот код конфига

                <?php

                function saveHtml($results){

                // replace line Breaking by space
                $results = stripLineBreaking($results);
                // strip javascript tags
                $results = stripJscripts($results);

                return $results;
                }

                function modx_web_user_attributes(& $main,& $joined, $listIDs){

                $main = array(
                ’tb_name’ => "modx_web_user_attributes",
                ’id’ => ’id’,
                ’searcheable’ => array(’id’,’phone’,’fullname’),
                ’date’ =>array(),
                ’filters’ => array(),
                ’jfilters’ => array()
                );

                $joined = NULL;
                }
                ?>
                ++++++++++++++++++++++++
                вот вызов сниппета
                [!AjaxSearch? &ajaxSearch=`0` &landingPage=`344` &showResults=`0` &showIntro=`0` &whereSearch=`modx_web_user_attributes` &config=`my` &stripOutput=`saveHtml` &language=`russian-UTF8`!]

                [!AjaxSearch? &ajaxSearch=`0` &tplResult=`results` &showInputForm=`0` &extract=`1` &whereSearch=`modx_web_user_attributes` &config=`my` &language=`russian-UTF8`!]

                на странице поиск воводится 2ой раз т.е получается 2поиска один ищет по умолчанию второй хочу что бы искал по таблице modx_web_user_attributes
                ++++++++++
                выдает такю ошибку SQL > SELECT . FROM WHERE 1 GROUP BY . HAVING 1 ORDER BY `publishedon`,`pagetitle`
                что я делаю не так