Algolia

Algolia - мощная облачная поисковая платформа
Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Автор дополнения
Boshnik
Пакетов
13
Закачек
7 156
Автор дополнения
Пакетов
13
Закачек
7 156
Версия 1.0.0-pl
Дата выпуска 11.02.2025
Загрузки 1
Просмотры 73
Внимание, этот компонент требует версию PHP 8.0 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.8 !

Настройка


1. Регистрация в Algolia
Зарегистрируйтесь на Algolia и получите API-ключи.

2. Настройка в MODX
Перейдите в системные настройки MODX и укажите:
  • Application ID (algolia.app_id)
  • Admin API Key (algolia.api_key)

3. Создание индекса
Создайте индекс в Algolia и укажите его название в системной настройке algolia.index_name.


На изображении показано, как перейти в панель поиска и создать индекс.

4. Настройка полей для поиска
Укажите поля, которые будут участвовать в поиске, в настройке algolia.searchable_fields.
По умолчанию: alias,pagetitle,longtitle,description,introtext.

5. Настройка полей для вывода
Укажите поля, которые будут возвращаться в результатах поиска, в настройке algolia.fields_to_retrieve.
По умолчанию: alias,pagetitle,longtitle,description,introtext.

Настройка данных для индексации:

1. Выбор типа ресурса
Укажите тип ресурса в настройке algolia.class_key:
  • modDocument (обычные ресурсы)
  • msProduct (товары miniShop2)
  • pbResource (коллекции PageBlocks)

2. Поля для индексации
Укажите поля, которые будут отправлены в индекс, в настройке algolia.fields.
По умолчанию: alias,pagetitle,longtitle,description,introtext.

3. Дополнительные условия
Укажите дополнительные условия для выборки данных в формате JSON в настройке algolia.where.

Примеры:
[{"parent": 5}] // добавляем в индекс только ресурсы с родителем 5
[{"price:>": 0}] // добавляем продукты с ценой больше 0

// Пример для PageBlocks
[{"field_name": "name"}] // в режиме developer
[{"collection_id": 1}] // в режиме manager


Использование


После установки компонента ресурсы будут автоматически индексироваться при их обновлении. Вы также можете принудительно обновить индекс через меню компонента, где также можно удалить все данные из индекса.

Форма поиска
Для вывода формы поиска не требуется использовать сниппет. Просто вставьте HTML-код, например:
<form class="d-flex" role="search" method="get" action="[[~187]]"> // 187 - страница поиска
    <input class="form-control me-2" name="query" type="search" placeholder="Search" aria-label="Search">
    <button class="btn btn-outline-success" type="submit">Search</button>
</form>


Вывод результатов поиска
На странице поиска разместите сниппет AlgoliaResult

Параметры сниппета:
  • paramSearch — имя параметра поиска. По умолчанию: query.
  • tpl — чанк для обертки результатов. По умолчанию: algolia.result.
  • tpl.result.item — чанк для вывода одного результата. По умолчанию: algolia.result.item.
  • tpl.result.empty — чанк для вывода, если ничего не найдено. По умолчанию: algolia.result.empty.
  • tpl.pagination — чанк для пагинации. По умолчанию:algolia.pagination.
  • tpl.pagination.item — чанк для пункта пагинации. По умолчанию: algolia.pagination.item.
  • limit — количество результатов на одной странице. По умолчанию: 10.
  • outputSeparator — разделитель для результатов. По умолчанию: \n.
  • toPlaceholder — вывод результата в плейсхолдер. По умолчанию: false.

Последние обсуждения в сообществе MODX.pro