Поиск по сайту
Поиск по сайту
Тип страницы search добавляет на сайт форму поиска с выдачей результатов.
Как включить
Добавьте запись в таблицу navigation:
- page_type:
search - url:
search(или любой другой) - location:
header(или где нужно)
Поиск автоматически заработает по адресу /search (или вашему url).
Что ищет
Поиск проходит по всем таблицам, указанным как source_table в активных записях navigation, плюс всегда таблица pages.
Из каждой таблицы выбираются текстовые колонки (TEXT, VARCHAR) — кроме служебных: status, slug, url, image, email, phone, password, token, api_key.
Результаты
- Заголовок берётся из колонки
title→name→summary(первая найденная) - URL строится автоматически: для
pages—/{slug}, для dynamic-таблиц —/{nav_url}/{item_slug} - Сниппет: 150-200 символов вокруг первого найденного слова
- Подсветка:
<mark>...</mark>вокруг искомого слова - Сортировка: по релевантности (точное совпадение в заголовке > частичное)
Шаблон
search.html.twig — находится в ядре (core_lib/front/app/views/). Проект может переопределить, создав свой front/app/views/search.html.twig.
Безопасность
- Системные таблицы (
system_settings,navigation,sqlite_sequence,visit_stats) исключены из поиска - Пароли, токены, API-ключи — колонки исключены по имени
- Поиск только по активным записям (status='active')
- Минимальная длина запроса: 2 символа