Поисковый интерфейс
Поисковый интерфейс Друпал управляет механизмом глобального поиска по сайту.
Модули можно включать в систему поиска разных типов данных. Большую часть работы в системе поиска выполняет search.module
, поэтому он должен быть разрешен для всех функций в работе поиска.
Есть три способа взаимодействия с системой поиска:
- Для поиска конкретно в нодах реализуется
nodeapi('update index')
иnodeapi('search result')
. Однако, необходимо учесть, что поисковая система уже индексирует весь видимый вывод ноды - все то, что отображается с помощьюhook_view()
иhook_nodeapi('view')
. Обычно этого достаточно. Этот механизм стоит использовать лишь если необходима индексация дополнительных скрытых данных. - Реализация
hook_search()
. На странице/search
будет создана вкладка поиска для разрабатываемого модуля, содержащая простую форму поиска по ключевому слову. Опционально можно реализоватьhook_search_item()
для настройки отображения результатов. - Реализация
hook_update_index()
. Это позволит использовать в модуле друпаловский механизм индексации HTML для эффективного полнотекстового поиска.
hook_search()
. В этом случае нужно определить его, как локальную задачу (вкладку) на странице /search
(например, /search/mymodule
), чтобы пользователи легко смогли его найти.Функции
Имя | Описание |
---|---|
do_search modules/search/search.module | Do a query on the full-text search index for a word or words. |
hook_search developer/hooks/core.php | Определяет пользовательскую функцию поиска. |
hook_update_index developer/hooks/core.php | Обновляет полнотекстовый индекс Друпала для данного модуля. |
search_box modules/search/search.module | Конструктор формы; Выводит форму поиска в блок и в специальную область в текущей теме. Смотри alsosearch_box_form_submit() |
search_box_form_submit modules/search/search.module | Обеспечивает отправку данных формы поиска. |
search_data modules/search/search.module | Запускает стандартный поиск по заданным ключам и возвращает форматированный результат. |
search_excerpt modules/search/search.module | Возвращает отрывки из части текста, с выделением найденных ключевых слов. Используется для форматирования результатов поиска.< |
search_form modules/search/search.module | Выводит форму поиска. |
search_index modules/search/search.module | Обновляет полнотекстовый поисковый индекс для указанного элемента. |
template_preprocess_search_block_form modules/search/search.module | Обрабатывает переменные для search-block-form.tpl.php. |
template_preprocess_search_theme_form modules/search/search.module | Process variables for search-theme-form.tpl.php. |