Повернутися до панелі керування

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

Дізнайтеся, як використовувати 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 Сканування сайту Прогалини у знаннях Картки товарів Динамічні картки товарів Динамічні зображення Контекст користувача Власні інструменти Параметри посилань Моніторинг у реальному часі Перехоплення оператором Ескалація Сповіщення ШI Щоденний звіт Потік даних у реальному часі Потік даних у реальному часі Max Учасники команди Єдиний вхід Двофакторна автентифікація Включити зображення Розпізнавання зображень Віджет перекладу Локалізація Прозорість ШІ Ліди Розумне захоплення лідів Тікети підтримки Категорії чатів Бронювання Вбудовування Виключення сторінок Заблоковані IP Політика зберігання Режим нульового зберігання Маскування PII Класифікатор відповідей Access Tags Закріплення версії віджета Журнал аудиту Розумніша модель Увімкнути міркування Пропозиції відповідей Подальші повідомлення Мовлення в текст Завантаження стенограми Вбудований чат Вбудовування через iframe

Як додати AI чат-бот Asyntai до SilverStripe

Покрокова інструкція для SilverStripe CMS

Отримати код вбудовування

Крок 1: Отримайте код для вставки

Спочатку перейдiть до вашої Панелi керування Asyntai та прокрутiть вниз до роздiлу "Код для вставки". Скопiюйте унiкальний код для вставки, який виглядатиме так:

<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>

Примітка: Код вище є лише прикладом. Ви повиннi скопiювати власний унiкальний код для вставки з вашої Панелi керування, оскiльки вiн мiстить ваш особистий ID вiджета.

Крок 2: Додати до шаблону SilverStripe (Рекомендовано)

Найпростіший спосіб додати чат-бот до вашого сайту SilverStripe - безпосередньо відредагувати основний файл шаблону вашої теми:

  1. Відкрийте файл шаблону вашої теми (наприклад, themes/yourtheme/templates/Page.ss)
  2. Додайте код вбудовування безпосередньо перед закриваючим тегом </body>:
<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> </html>
  1. Збережіть файл та очистіть кеш SilverStripe, додавши ?flush=1 до URL-адреси вашого сайту

Порада: SilverStripe використовує файли шаблонів .ss з системою успадкування шаблонів. Розміщення скрипта у вашому базовому шаблоні Page.ss забезпечує появу чат-бота на кожній сторінці вашого сайту. Якщо ваша тема використовує папку Includes, ви також можете розмістити скрипт у спільному файлі включення.

Альтернативний метод 1: Використання класу Requirements в контролері

SilverStripe надає клас Requirements для програмного управління залежностями JavaScript та CSS. Це рекомендований підхід для розробників:

  1. Відкрийте app/src/PageController.php (або ваш файл контролера сторінки)
  2. У методі init() використовуйте Requirements::customScript() для динамічного завантаження віджета:
use SilverStripe\View\Requirements; class PageController extends \SilverStripe\CMS\Controllers\ContentController { protected function init() { parent::init(); Requirements::customScript(<<<JS var script = document.createElement('script'); script.src = 'https://asyntai.com/static/js/chat-widget.js'; script.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID'); script.async = true; document.head.appendChild(script); JS); } }
  1. Збережіть файл та очистіть кеш, відвідавши yourdomain.com?flush=1

Примітка: Клас Requirements - це стандартний спосіб SilverStripe для включення скриптів та стилів. Використання Requirements::customScript() виводить вбудований JavaScript. Цей метод забезпечує завантаження віджета на кожній сторінці, що обробляється вашим PageController.

Альтернативний метод 2: Використання Requirements в шаблоні

Ви також можете використовувати синтаксис шаблонів SilverStripe для підключення файлів JavaScript безпосередньо у вашому шаблоні .ss:

  1. Відкрийте файл шаблону вашої теми (наприклад, themes/yourtheme/templates/Page.ss)
  2. Додайте наступне ближче до низу шаблону, перед </body>:
<% require javascript("https://asyntai.com/static/js/chat-widget.js") %> <script> document.addEventListener('DOMContentLoaded', function() { var scripts = document.querySelectorAll('script[src*="chat-widget.js"]'); scripts.forEach(function(s) { s.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID'); }); }); </script> </body>

Порада: Синтаксис <% require %> - це спосіб SilverStripe на рівні шаблону для включення ресурсів. Зверніть увагу, що цей метод не підтримує нативно додавання власних атрибутів data до тегу script, тому ми додаємо невеликий фрагмент ініціалізації для встановлення ID віджета.

Альтернативний метод 3: Використання конфігурації SilverStripe (YAML)

Для підходу на основі конфігурації ви можете використовувати YAML-конфігурацію SilverStripe для додавання глобальних вимог:

  1. Відкрийте або створіть файл app/_config/app.yml
  2. Додайте конфігурацію для включення віджета через власне розширення або налаштування контролера:
# app/_config/app.yml --- Name: asyntai-chatbot After: '#rootroutes' --- SilverStripe\Core\Injector\Injector: AsyntaiChatbotExtension: class: App\Extensions\AsyntaiChatbotExtension
  1. Створіть файл розширення app/src/Extensions/AsyntaiChatbotExtension.php:
namespace App\Extensions; use SilverStripe\Core\Extension; use SilverStripe\View\Requirements; class AsyntaiChatbotExtension extends Extension { public function onAfterInit() { Requirements::customScript(" var script = document.createElement('script'); script.src = 'https://asyntai.com/static/js/chat-widget.js'; script.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID'); script.async = true; document.head.appendChild(script); "); } }
  1. Застосуйте розширення до вашого PageController у app/_config/app.yml:
PageController: extensions: - App\Extensions\AsyntaiChatbotExtension
  1. Виконайте ?flush=1, щоб перебудувати кеш конфігурації

Примітка: Використання YAML-конфігурації та розширень - це найбільш модульний підхід SilverStripe. Він зберігає інтеграцію чат-бота окремо від логіки основного контролера та дозволяє легко вмикати або вимикати без зміни коду.

Крок 3: Перевірте встановлення

Після додавання коду та очищення кешу SilverStripe відкрийте ваш сайт у новій вкладці браузера. Ви повинні побачити кнопку чат-віджета у нижньому правому куті. Натисніть на неї, щоб переконатися, що вона відкривається та працює коректно.

Не бачите віджет? Переконайтеся, що ви очистили кеш, додавши ?flush=1 до URL-адреси вашого сайту. Перевірте, що ви замінили YOUR_WIDGET_ID на ваш справжній ID віджета з панелі керування. Очистіть кеш браузера або перегляньте у режимі інкогніто. Відкрийте консоль браузера (F12), щоб перевірити наявність помилок JavaScript. Якщо використовуєте клас Requirements, перевірте, що метод init() вашого PageController викликається коректно.