Search interface
Поисковый интерфейс Друпал управляет механизмом глобального поиска по сайту.
Модули можно включать в систему поиска разных типов данных. Большую часть работы в системе поиска выполняет 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 | Выводит форму поиска в блок и в специальную область в текущей теме. |
search_box_form_submit modules/search/search.module | Process a block search form submission. |
search_data modules/search/search.module | Perform a standard search on the given keys, and return the formatted results. |
search_excerpt modules/search/search.module | Возвращает отрывки из части текста, с выделением найденных ключевых слов. Используется для форматирования результатов поиска. |
search_form modules/search/search.module | Render a search form. |
search_form_submit modules/search/search.module | Process a search form submission. |
search_form_validate modules/search/search.module | As the search form collates keys from other modules hooked in via hook_form_alter, the validation takes place in _submit. search_form_validate() is used solely to set the 'processed_keys' form value for the basic search form. |
search_index modules/search/search.module | Update the full-text search index for a particular item. |
theme_search_block_form modules/search/search.module | Theme the block search form. |
theme_search_theme_form modules/search/search.module | Theme the theme search form. |