Поиск по сайту в MODX Revolution на основе SimpleSearch

Скачиваем и устанавливаем дополнение SimpleSearch, используя менеджер пакетов. Создаем документ «Поиск по сайту» со следующим содержанием:

[[!SimpleSearch]]

Эта страница будет служить для отображения результатов работы сниппета SimpleSearch. В шаблоне, где должна располагаться поле для поиска вставляем:

[[!SimpleSearchForm? &landing=`10` &tpl=`SearchTpl`]]

в вызове сниппета вместо 10 указываем идентификатор созданного ресурса «Поиск по сайту».

Создаем новый чанк SearchTpl. Открываем core/components/simplesearch/elements/chunks/searchform.chunk.tpl и копируем его содержимое в чанк SearchTpl, затем редактируем этот код под свои нужды. На этом создание поиска по сайту завершено. Но если при поиске в его результатах появляются некорректные символы, то нужно проделать нижеследующие действия.

Открываем php-класс расположенный в core/components/simplesearch/model/simplesearch/simplesearch.class.php

Далее необходимо убрать строчку 177

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

заменить строку 247

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

на

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

заменить строку 261

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

на

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

заменить строку 361

$string = preg_replace(‘/’ . $quoteValue . ‘/i’, ‘<’.$tag.’variable’>$cls.’”>$0’, $string);

на

$string = preg_replace(‘/’ . $quoteValue . ‘/iu’, ‘<’.$tag.’variable’>$cls.’”>$0’, $string);

После чего в результантах поиска все кириллические символы должны отображаться корректно, однако, нужно помнить, что номера строк с php-функциями могут изменятся в зависимости от версии SimpleSearch

Timeweb Many GEOs
UltraVDS
GeekBrains

Все уроки по MODx Revolution

Комментарии(0)

Комментировать:

 * Поля обязательны для заполнения

О нашем агентстве

Наше агенство специализируестся на создании сайтов, поддержке и продвижении существующих проектов, а так же на комплексной рекламе в сети интернет

Связаться с администрацией ресурса