We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 16097
    • 15 Posts
    Подскажите плиз, как добиться нужного результата... а нужно, чтоб поиск не зависел от регистра.
    Вот в этом топике - http://modxcms.com/forums/index.php/topic,56240.msg325908.html#msg325908 AKots, описал решение, но вот куда и что подставить, чтоб это работало?
    Я так понимаю, что за формирование запросов отвечает класс AjaxSearchRequest, с файла ajaxSearchRequest.class.inc.php. Этот класс меня "натупил" крепко(( Подскажите, где нужно подкорректировать, чтоб все работало как нужно?

    Кодировка utf-8.
    character_set_client utf8
    character_set_connection utf8
    character_set_database utf8
    character_set_filesystem binary
    character_set_results utf8
    character_set_server utf8
    character_set_system utf8

    Сделал в phpMyAdmin запрос:
    SELECT sc.id, sc.pagetitle, sc.longtitle, sc.description, sc.alias, sc.introtext, sc.template, sc.menutitle, sc.content, sc.publishedon
    FROM `modx_site_content` sc
    WHERE ((sc.published =1)AND (sc.searchable =1) AND (sc.deleted =0) AND (sc.privateweb =0))
    GROUP BY sc.id HAVING (((sc.content LIKE ’%трУбы%’) OR (sc.pagetitle LIKE ’%трУбы%’) OR (sc.longtitle LIKE ’%трУбы%’)))
    ORDER BY sc.publishedon, sc.pagetitleLIMIT 0 , 30
    Все норм. Выдает регистронезависимый результат. А вот с сниппетом все печально(
      • 16097
      • 15 Posts
      Установил версию 1.7. Проблема с регистром ушла. Но там своих заморочек хватает)
        • 785
        • 2,113 Posts
        Для 1.9.2 в ajaxSearchRequest.class.inc.php в функции _getWhereForm закомментируйте строку
        else if ($advSearch == EXACTPHRASE) return $whereForm[’regexp’];
        Или просто используйте другой вариант параметра advSearch.
          Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
          Статьи о MODx, регулярно новые публикации
          • 16097
          • 15 Posts
          Спс за содействие... Пробовал крутить эту функцию, но что-то не то. Оставил вот таким вот образом:
          function _getWhereForm($advSearch) {
              $whereForm = array('like' => " LIKE '%word%'", 'notlike' => " NOT LIKE '%word%'", 'regexp' => " REGEXP '[[:<:]]word[[:>:]]'");
              return $whereForm['like'];
          }
          


          Результата нет. Наверное проблема глубже зарыта.
            • 785
            • 2,113 Posts
            Так надо выводить на печать формируемый запрос и проверять, правильный ли он и как формируется. За полчаса можно все обнаружить...
              Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
              Статьи о MODx, регулярно новые публикации
              • 16097
              • 15 Posts
              Quote from: AKots at May 03, 2011, 09:08 AM

              Так надо выводить на печать формируемый запрос и проверять, правильный ли он и как формируется. За полчаса можно все обнаружить...

              "надо выводить на печать формируемый запрос" - А каким образом это сделать? Где я могу "перехватить" этот запрос? Сорри, в некоторых местах не хватает теории, ну и практики соответственно(

              ps: Кажется вижу где это... попробую вывести.
                • 16097
                • 15 Posts
                С временем сейчас очень туго. Люди паникуют... оставил версию 1.7. Чуток подкорректировал и все отлично работает(регистронезависимый, нормальный поиск фраз). С 1.9.2, на досуге все-таки попробую разобраться.