Меню ×
MODx Revo - поиск по сайту SimpleSearch modx

MODx Revo - поиск по сайту SimpleSearch modx

Для создания поиска по сайту необходимо установить пакет SimpleSearch.

Затем в ресурсах создаем ресурс ПОИСК и вписываем туда


    [[!SimpleSearch]]

Запоминаем id этого ресурса, это страница вывода результатов поиска. В шаблон где находится сама форма поиска вставляем следующий код:


    [[!SimpleSearchForm? &landing=`1` &tpl=`MySForm`]]

где вместо 1 вставляем ID страницы вывода результатов поиска

Затем копируем содержимое файла core/components/simplesearch/elements/chunks/searchform.chunk.tpl в новый чанк с названием MySForm и создаем тот шаблон отображения окна поиска, который нам необходим

Все, поиск на сайте под управлением Revo Modx готов.

Далее решаем проблемы с кодировкой.

Находим файл core/components/simplesearch/model/simplesearch/simplesearch.class.php в нем заменяем строку


$text = trim(preg_replace('/\s+/', ' ', $this->sanitize($text)));

на


$text = trim(preg_replace('/\s+/u', ' ', $this->sanitize($text)));

Затем заменяем строку


$string = preg_replace('/' . $quoteValue . '/i', '<'.$tag.' class="'.$cls.'">$0', $string);

на


$string = preg_replace('/' . $quoteValue . '/iu', '<'.$tag.' class="'.$cls.'">$0', $string);

А так же заменяем строку


$text = preg_replace('/(\[\[\+.*?\]\])/i', '', $text);

на


$text = preg_replace('/(\[\[\+.*?\]\])/iu', '', $text);

И последнее, надо закомментировать строчку


if (!empty($str)) $this->searchString = strip_tags($this->modx->sanitizeString($str));

Голосов: 1522 | Просмотров: 6708

наверх