На время проведения реконструкции сайт переведён в режим "ТОЛЬКО ЧТЕНИЕ" (Read only). Приносим свои извинения!
MaxHub
Полезности по Maxsite CMS

Как запретить поиск по определённым словам?

Вопросы-ответы / 3 января 2017

Привет, поиск в MaxSite CMS работает практически идеально, он и по частям находит, и приблизительные результаты выдаёт, как подключить поиск по title и мета-тегам тут где-то уже была инструкция, а сейчас мне нужно, чтоб был список стоп-слов, по которым будет выдаваться нулевой результат. т.е. чтоб не так просто было найти нужную инфу, также это будет закрыто и от поисковиков. Возможно, есть функция исключения из поиска по сайту какой-нибудь специальной категории?

Комментариев: 2
  1. Stahlwerk, для этого вам нужно будет поработать с type-файлом поиска. Найдите файл \application\maxsite\shared\type\search\search.php - он отвечает за реализацию поиска. По большому счёту, глядя на код уже всё должно быть понятно. Если это не так, то подсказываю. У вас есть варианты:

    1. Можно "вклиниться" перед самим поиском и поменять настройки поиска. Для этого предусмотрен type_foreach файл search-mso-get-pages.php - создаёте его и переопределяете в нём массив в переменной $par. Правда вам для полной ясности хорошо бы найти в движке функцию mso_get_pages и изучить её работу. Логика поиска зашита в ней.

    Но подозреваю, что это может быть не совсем тривиальный способ и не во всём устраивающий. Поэтому второй вариант.

    2. Можно "вклиниться" уже после поиска, но перед выводом - создаём свой type_foreach-файл \type_foreach\search-do.php, копируем в него стандартный вывод (код, который выводится, если нет type_foreach-файла). И добавляем в него логику обнуления результирующего массива в переменной $pages (для рубрик и меток делаем то же самое). После этого дальнейший вывод будет всегда показывать отсутствие результатов по нужным запросам.

    3. Этот вариант для самых крутых. Копируете в папку своего шаблона \type\search\ файл \application\maxsite\shared\type\search\search.php и делаете в нём всё так, как вам нужно. wink

    Надеюсь, что ответил на ваш вопрос.

  2. gulpbig surpriserolleyesshock