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

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

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

Возможности
Панель Ask AI Панель AI-поиска ИИ-поиск для WordPress AI Search for Joomla AI Search for Webflow AI Search for Moodle AI Search for TYPO3 AI Search for Craft CMS AI Search for Grav AI Search for October CMS AI Search for ProcessWire AI Search for Odoo AI Search for Bagisto AI Search for OpenCart AI Search for BigCommerce AI Search for Magento Сканирование сайта Пробелы в знаниях Карточки продуктов Динамические карточки товаров Динамические изображения Контекст пользователя Пользовательские инструменты Параметры ссылок Мониторинг в реальном времени Передача живому оператору Эскалация Уведомления ИИ Ежедневный отчёт Поток данных в реальном времени Поток данных в реальном времени Max Участники команды Единый вход Двухфакторная аутентификация Показывать изображения Распознавание изображений Виджет перевода Локализация Прозрачность ИИ Лиды Умный захват лидов Тикеты поддержки Категории чатов Бронирования Встраивания Исключить страницы Заблокированные IP Политика хранения Режим нулевого хранения Маскирование PII Классификатор ответов Access Tags Закрепление версии виджета Журнал аудита Продвинутая модель Включите режим размышления Подсказки для ответа Дополнительные сообщения Распознавание речи Скачать транскрипт Встроенный чат Встраивание через iframe

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

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

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

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

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

<script>(function(){var l=function(){var s=document.createElement("script");s.src="https://widget.asyntai.com/static/js/chat-widget.js";s.async=true;s.setAttribute("data-asyntai-id","YOUR_WIDGET_ID");document.head.appendChild(s)};if(document.readyState==="complete"){l()}else{window.addEventListener("load",l)}})();</script>

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

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

ProcessWire использует PHP-файлы шаблонов, расположенные в директории site/templates/. Самый простой подход — добавить код встраивания непосредственно в главный файл шаблона:

  1. Откройте файлы установки ProcessWire через FTP, SSH или файловый менеджер
  2. Перейдите в site/templates/
  3. Откройте главный файл шаблона — как правило, это _main.php или basic-page.php в зависимости от профиля вашего сайта
  4. Если вы используете стратегию отложенного вывода (по умолчанию для большинства профилей сайта), откройте _main.php
  5. Найдите закрывающий тег </body>
  6. Вставьте код встраивания Asyntai непосредственно перед ним:
<script>(function(){var l=function(){var s=document.createElement("script");s.src="https://widget.asyntai.com/static/js/chat-widget.js";s.async=true;s.setAttribute("data-asyntai-id","YOUR_WIDGET_ID");document.head.appendChild(s)};if(document.readyState==="complete"){l()}else{window.addEventListener("load",l)}})();</script>
</body>

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

Альтернативный метод 1: использование файла добавления _foot.inc или _main.php

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

  1. Перейдите в site/templates/
  2. Откройте _foot.inc (или аналогичный файл включения футера)
  3. Вставьте код встраивания Asyntai непосредственно перед закрывающим тегом </body>
  4. Сохраните файл

Стратегия отложенного вывода ProcessWire обычно работает с тремя ключевыми файлами:

  • _init.php — выполняется перед каждым шаблоном, инициализирует переменные
  • Ваш файл шаблона (например, basic-page.php) — заполняет переменные контента
  • _main.php — выводит итоговую HTML-разметку с использованием этих переменных

Если ваш сайт использует этот подход, добавление скрипта в _main.php перед </body> обеспечит его появление на каждой странице.

Примечание: Имена файлов _init.php и _main.php настраиваются в вашем site/config.php через параметры $config->prependTemplateFile и $config->appendTemplateFile. Проверьте конфиг, если ваши файлы названы иначе.

Альтернативный метод 2: использование массива $config->scripts

ProcessWire предоставляет FilenameArray $config->scripts, который можно использовать для управления JavaScript-файлами. В файле _init.php или отдельном файле шаблона добавьте:

<?php
$config->scripts->add('https://asyntai.com/static/js/chat-widget.js');
?>

Затем в вашем _main.php (или включении футера) пройдитесь циклом по массиву скриптов для их вывода:

<?php foreach($config->scripts as $file): ?>
<script src="<?php echo $file; ?>"></script>
<?php endforeach; ?>

Важно: Подход с $config->scripts обрабатывает атрибут src скрипта, однако атрибут data-asyntai-id нужно добавлять отдельно. Вы можете либо добавить атрибут вручную в цикле вывода, либо воспользоваться методом прямого тега скрипта из шага 2 — это наиболее простой вариант.

Альтернативный способ 3: Через хук (ready.php)

Для более продвинутого подхода можно использовать систему хуков ProcessWire для автоматической вставки скрипта чат-бота на каждую страницу. Добавьте следующее в файл site/ready.php:

<?php
$wire->addHookAfter('Page::render', function(HookEvent $event) {
    $html = $event->return;
    $script = '<script>(function(){var l=function(){var s=document.createElement("script");s.src="https://widget.asyntai.com/static/js/chat-widget.js";s.async=true;s.setAttribute("data-asyntai-id","YOUR_WIDGET_ID");document.head.appendChild(s)};if(document.readyState==="complete"){l()}else{window.addEventListener("load",l)}})();</script>';
    $html = str_replace('</body>', $script . '</body>', $html);
    $event->return = $html;
});
?>

Этот хук перехватывает отображаемый HTML-вывод каждой страницы и автоматически вставляет скрипт Asyntai непосредственно перед закрывающим тегом </body>.

Совет: Подход с хуком ready.php идеально подходит, если вы хотите добавить чат-бот на каждую страницу без изменения файлов шаблонов. Этот метод сохраняется при смене шаблонов и обновлениях темы, так как находится за пределами файлов шаблонов.

Шаг 3: Проверка установки

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

Виджет не отображается? Убедитесь, что вы сохранили все изменённые файлы. Попробуйте очистить кэш браузера или открыть сайт в режиме инкогнито. Если кэш шаблонов ProcessWire включён, может потребоваться его очистка через Модули → Core → Template Engine Cache или путём добавления ?nocache=1 к URL. Также убедитесь, что ваш файл шаблона действительно используется на просматриваемых страницах.