Назад к панели управления

Документация

Узнайте, как использовать Asyntai

Как добавить ИИ-чат-бот Asyntai в CrafterCMS

Пошаговое руководство для сайтов на CrafterCMS

Получить код встраивания

Шаг 1: Получите код встраивания

Сначала перейдите на Панель управления Asyntai и прокрутите вниз до раздела «Код для встраивания». Скопируйте уникальный код, который выглядит так:

<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>

Примечание: Код выше — всего лишь пример. Вы должны скопировать свой уникальный код для встраивания с вашей Панели управления, так как он содержит ваш персональный идентификатор виджета.

Шаг 2: Добавьте в шаблон FreeMarker (рекомендуется)

CrafterCMS использует шаблоны FreeMarker (.ftl) для отрисовки страниц. Самый простой способ добавить чат-бот на все страницы — отредактировать основной шаблон страницы:

  1. В Crafter Studio перейдите в Site Dashboard > Content Types или перейдите к шаблонам
  2. Откройте главный шаблон страницы (например, /templates/web/pages/home.ftl или базовый макет)
  3. Найдите закрывающий тег </body>
  4. Вставьте код встраивания Asyntai перед тегом </body>:
    <!-- Asyntai AI Chatbot --> <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> </body>
  5. Сохраните файл и опубликуйте через Crafter Studio

Совет: Добавление скрипта перед закрывающим тегом </body> гарантирует загрузку после контента страницы — это рекомендуется для чат-виджетов и не замедлит загрузку страницы.

Альтернативный метод 1: использование компонентов шаблонов Crafter

Для лучшей организации создайте отдельный шаблон компонента для виджета чат-бота:

  1. В Crafter Studio создайте новый файл шаблона по пути /templates/web/components/asyntai-widget.ftl
  2. Добавьте следующее содержимое в шаблон компонента:
    <!-- Asyntai AI Chatbot Component --> <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  3. Подключите его в основном шаблоне макета с помощью директивы include FreeMarker:
    <#include "/templates/web/components/asyntai-widget.ftl" />
  4. Как вариант, если вы используете систему рендеринга компонентов CrafterCMS, используйте:
    <@renderComponent component=contentModel.asyntaiWidget />
  5. Сохраните оба файла и опубликуйте через Crafter Studio

Примечание: Использование отдельного шаблона компонента позволяет легко включать или отключать чат-бот на всём сайте, закомментировав одну строку включения.

Альтернативный метод 2: использование конфигурации Head/Scripts в Crafter

CrafterCMS позволяет глобально внедрять скрипты через конфигурацию сайта:

  1. В Crafter Studio перейдите в Site Config > Configuration
  2. Откройте файл конфигурации сайта Engine (site-config.xml)
  3. Добавьте конфигурацию инъекции скрипта:
    <site> <!-- Existing configuration... --> <!-- Custom Scripts --> <scripts> <script> <src>https://asyntai.com/static/js/chat-widget.js</src> <async>true</async> <data-asyntai-id>YOUR_WIDGET_ID</data-asyntai-id> </script> </scripts> </site>
  4. Кроме того, можно отредактировать базовый макет FreeMarker для чтения из конфигурации сайта и динамического внедрения скриптов:
    <#if siteConfig.getString("scripts.script.src", "")?has_content> <script async src="${siteConfig.getString("scripts.script.src")}" data-asyntai-id="${siteConfig.getString("scripts.script.data-asyntai-id")}"></script> </#if>
  5. Сохраните и опубликуйте изменения конфигурации

Совет: Использование конфигурации сайта позволяет управлять виджетом чат-бота без прямого изменения файлов шаблонов, что упрощает последующее обновление или удаление.

Альтернативный способ 3: Через Groovy Controller

CrafterCMS поддерживает Groovy-скрипты для серверной логики. Вы можете использовать контроллер для динамического добавления скрипта чат-бота:

  1. Создайте Groovy-скрипт в /scripts/pages/ (например, /scripts/pages/home.groovy или контроллер всего сайта)
  2. Добавьте следующий код для внедрения URL скрипта в модель шаблона:
    // /scripts/pages/home.groovy import org.craftercms.engine.service.context.SiteContext def siteContext = SiteContext.current // Add Asyntai chatbot configuration to the model model.asyntaiEnabled = true model.asyntaiWidgetId = "YOUR_WIDGET_ID" model.asyntaiScriptSrc = "https://asyntai.com/static/js/chat-widget.js"
  3. Затем обратитесь к переменным модели в вашем шаблоне FreeMarker:
    <#if model.asyntaiEnabled?? && model.asyntaiEnabled> <script async src="${model.asyntaiScriptSrc}" data-asyntai-id="${model.asyntaiWidgetId}"></script> </#if>
  4. Сохраните Groovy-скрипт и файл шаблона
  5. Опубликуйте изменения через Crafter Studio

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

Шаг 3: Публикация и проверка

После внесения изменений опубликуйте их через Crafter Studio:

  1. В Crafter Studio перейдите в Site Dashboard
  2. Проверьте свои изменения в разделе Моя недавняя активность или Ожидает одобрения
  3. Нажмите Опубликовать, чтобы изменения вступили в силу
  4. Откройте сайт CrafterCMS в новой вкладке браузера или режиме инкогнито
  5. Кнопка виджета чата должна появиться в правом нижнем углу
  6. Нажмите на нее, чтобы убедиться, что она открывается и работает корректно

Виджет не отображается? Убедитесь, что вы опубликовали изменения через Crafter Studio. Проверьте, что вы редактируете правильный файл шаблона, который используется вашими страницами. Очистите кэш браузера или откройте сайт в режиме инкогнито. При использовании кэширования Crafter очистите кэш Engine из панели управления Crafter Studio.

Расположение шаблона: Расположение шаблонов CrafterCMS зависит от структуры проекта. Типичные пути: /templates/web/pages/ для шаблонов страниц, /templates/web/components/ для компонентов и /templates/web/ для шаблонов макетов. Найдите, где определён тег </body>.