Работаю по всей России

vasilisa1210@mail.ru

Главная » Уроки » Уроки по ModX Revo » [Modx Revo] Создать поиск по сайту SimpleSearch modx, параметры, шаблооны

[Modx Revo] Создать поиск по сайту SimpleSearch modx, параметры, шаблооны

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

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

[[!SimpleSearch]]

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

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

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

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

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


Основные параметры и чанки SimpleSearch

чанки:

Параметры:


Далее решаем проблемы с кодировкой (если они есть)

Находим файл 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</'.$tag.'>', $string);

на

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

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

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

на

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

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

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

 за решение проблем с кодировкой спасибо valikras