MODx Revolution — поиск на сайте
Главная Статьи и Медиа WEB технологии MODx Revolution MODx Revolution — поиск на сайте
MODx Revolution — поиск на сайте

MODx Revolution по шагам — шаг седьмой

Какой сайт без окошка поиска?
Поговорим о расширении SimpleSearch и о том, где брать образцы шаблонов вывода.



Тэги (метки): MODx, WEB, технологии, сайт

 

На предыдущий шаг...

Тестовый (учебный) сайт располжен по адресу: http://test.grandikos.com

В предыдущей статье  мы говорили о дополнительной навигации по сайту. Ещё одним важным сервисом для посетителей сайта является форма "Поиск на сайте". Окошко поиска на шаблоне-прототипе располагается в "шапке". Наша задача заставить это окно правильно функционировать, то есть, искать в документах сайта нужные слова. Для этих целей я буду использовать расширение MODx Revo — Simplesearch.

Короче, загружаем и устанавливаем это расширение...

Теперь, можно заняться им вплотную...

Пакет Simplesearch включает в себя три сниппета и плагин. Нас, прежде всего, интересуют — строки вызова определённого сниппета (плагин срабатывает сам) и шаблоны вывода как формы поиска, так и его результатов на страницы.

За окно поиска (то, которое мы будем "оживлять") отвечает сниппет SimpleSearchForm. За вывод результатов поиска — сниппет SimpleSearch. Вызываются эти сниппеты стандартными строками вызова с параметрами. Параметры  можно найти либо в руководстве, либо открыв сам сниппет (окно "параметры").

Что касается шаблонов вывода, то их можно написать отталкиваясь от кода шаблона-прототипа, вставив в нужные места управляющие тэги MODx Revolution, а также, шаблонов вывода по умолчанию, которые можно найти на вкладке "файлы" в админке. Смотри картинку ниже...

(Картинки являются иллюстрациями. Их можно увеличить шелчком мышки)

MODx Revolution — файлы чанков сниппета SimpleSearch

Файлы шаблонов вывода по умолчанию редактировать не рекомендуется — при обновлении пакета,  они, всё равно, перепишутся, так что будем использовать их только в качестве "референсов" при написании своих чанков.

Начнём с шаблона вывода окна поиска, взяв за основу, естественно, кусок кода шаблона-первоисточника, отвечающий за это самое окошко и вставив управляющие тэги MODx revo по аналогии с шаблонами вывода по умолчанию...

MODx Revolution — Шаблон формы поиска

Теперь, создадим новый документ с названием "Результаты поиска" со стандартным вызовом и запомним  ID этого документа...

Результаты поиска

... чтобы в шаблоне "HEADER" заменить участок кода, отвечающий за отображение окошка поиска, следующим:

Участок кода окна поиска

Запустим сайт и посмотрим, что получилось...

окно поиска

Всё в порядке. Окно поиска есть. Правда надо будет поработать с таблицей стилей, но это позже, а пока, проверим поиск "в работе". Для этого я введу любимое слово "кэширование" (я знаю, что оно, точно, присутствует в одном из тестовых документов )...

окно результатов поиска

Ну что же, поиск работает. Страница с результатами присутствует. Что касается стилей, то, посмотрев на значение параметра "searchindex" по умолчанию (это "search", он заменил "s" в коде первоисточника), я осуществлю в файле таблицы стилей следующие изменения:

Изменения в таблице стилей

Теперь, окно поиска должно стать таким, как в оригинале.

 Для того, чтобы "подсветить" найденное слово, воспользуемся классом Highlight таблицы стилей. Просто, вставим название класса как параметр строки вызова сниппета simpleSearch.

Новый вызов окна результатов поиска

Вот, что получилось...

Окно результатов поиска

 Безусловно, со стилями надо ещё поработать, добавив новые в таблицу,  или создать свои чанки шаблонов вывода результатов, применив в них более подходящие из уже существующих в таблицах стилей классы, ну а пока...

... продолжение следует...

GRANDIKOS


Grandikos Если Вам нравится сайт, а главное, статьи и обучающие материалы, на нём представленные... Вы можете стимулировать автора, бросив на его счёт любую "символическую" сумму, что, неизбежно, подвигнет его на дальнейшее проявление здорового альтруизма...
Кстати, если Вы, к тому же, вместе с "пожертвованием" оставите и комментарий, содержащий ВАШИ пожелания на будущее, то автор непременно учтёт их при планировании своей работы...


Счет на "Яндекс деньги": 41001131476679

Кошельки "WEB money":

Z148021440215
R515650544848


GRANDIKOS

2007—2017 © ТМИП | Все права защищены

К началу