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

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

Дізнайтеся, як використовувати 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 до Sylius

Покрокова інструкція для платформи електронної комерції Sylius

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

Крок 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: Додати до шаблону макета Twig (Рекомендовано)

Sylius побудований на Symfony та використовує шаблонізатор Twig. Рекомендований підхід - перевизначити шаблон макета магазину, щоб включити чат-бот на всі сторінки вітрини.

  1. У вашому проекті Sylius перейдіть до директорії templates/bundles/SyliusShopBundle/ (створіть її, якщо вона не існує)
  2. Створіть або відредагуйте файл layout.html.twig, щоб перевизначити макет магазину за замовчуванням
  3. Якщо файл вже існує, знайдіть {% block javascripts %} блок
  4. Додайте код вбудовування Asyntai, розширивши блок javascripts:
    {% block javascripts %} {{ parent() }} <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> {% endblock %}
  5. Замiнiть YOUR_WIDGET_ID на фактичний ID вiджету з панелi керування
  6. Збережіть файл

Порада: By using {{ parent() }} inside the block, you preserve all existing JavaScript includes from the parent template while appending the chatbot script at the end, ensuring it loads after the page content.

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

Sylius надає потужну систему подій шаблонів, яка дозволяє вставляти контент у певні частини макета без перевизначення цілих шаблонів. Ви можете використовувати це для додавання віджета чат-бота в область футера.

  1. Створіть новий файл шаблону за адресою templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twig з наступним вмістом:
    <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. Зареєструйте подію шаблону у вашому конфігураційному файлі config/packages/sylius_ui.yaml:
    sylius_ui:
        events:
            sylius.shop.layout.after_body:
                blocks:
                    asyntai_chatbot:
                        template: "@SyliusShop/Event/asyntai_widget.html.twig"
                        priority: 0
  3. Замініть YOUR_WIDGET_ID на ваш фактичний ID віджету
  4. Очистіть кеш Symfony (див. Крок 3 нижче)

Примітка: Підхід з подіями шаблонів є найменш інвазивним методом. Він не вимагає перевизначення існуючих шаблонів та чисто інтегрується з архітектурою Sylius. Значення priority контролює порядок рендерингу, якщо кілька блоків зареєстровані для однієї події.

Альтернативний метод 2: Використання Webpack Encore

Якщо ваш проект Sylius використовує Webpack Encore для управління ресурсами, ви можете інтегрувати скрипт чат-бота через ваш конвеєр збірки JavaScript.

  1. Створіть новий файл JavaScript за адресою assets/shop/js/asyntai-chatbot.js з наступним вмістом:
    (function() {
        var script = document.createElement('script');
        script.async = true;
        script.src = 'https://asyntai.com/static/js/chat-widget.js';
        script.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID');
        document.body.appendChild(script);
    })();
  2. Імпортуйте цей файл у точку входу вашого магазину (наприклад, assets/shop/entry.js або assets/shop/js/app.js):
    import './js/asyntai-chatbot';
  3. Перебудуйте ваші ресурси, виконавши:
    yarn encore dev

    Або для production:

    yarn encore production
  4. Замініть YOUR_WIDGET_ID на ваш фактичний ID віджету

Порада: Використання Webpack Encore забезпечує об'єднання скрипта чат-бота з вашими іншими ресурсами та переваги кешування та оптимізації, що надаються інструментом збірки.

Альтернативний метод 3: Використання Sonata Block Bundle

Якщо ваша інсталяція Sylius використовує Sonata Block Bundle (включений за замовчуванням у деяких конфігураціях Sylius), ви можете створити власний сервіс блоків для рендерингу віджета чат-бота.

  1. Створіть новий клас сервісу блоків у вашому проекті, наприклад src/Block/AsyntaiChatbotBlockService.php:
    <?php

    namespace App\Block;

    use Sonata\BlockBundle\Block\BlockContextInterface;
    use Sonata\BlockBundle\Block\Service\AbstractBlockService;
    use Symfony\Component\HttpFoundation\Response;

    class AsyntaiChatbotBlockService extends AbstractBlockService
    {
        public function execute(BlockContextInterface $blockContext, Response $response = null): Response
        {
            return $this->renderResponse('block/asyntai_chatbot.html.twig', [
                'block' => $blockContext->getBlock(),
            ], $response);
        }
    }
  2. Створіть шаблон блоку за адресою templates/block/asyntai_chatbot.html.twig:
    <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>
  3. Зареєструйте сервіс блоків у вашому config/services.yaml:
    services:
        app.block.asyntai_chatbot:
            class: App\Block\AsyntaiChatbotBlockService
            arguments:
                - '@twig'
            tags:
                - { name: sonata.block, context: footer }
  4. Розмістіть блок у контексті футера через адмінку Sonata або додавши його до конфігурації макета
  5. Замініть YOUR_WIDGET_ID на ваш фактичний ID віджету

Важливо: Підхід Sonata Block вимагає більше налаштувань, але забезпечує гнучкість управління блоком чат-бота через інтерфейс адміністратора. Переконайтеся, що Sonata Block Bundle встановлений та налаштований у вашому проекті Sylius перед використанням цього методу.

Крок 3: Очистіть кеш та перевірте

Після внесення змін вам потрібно очистити кеш Symfony та перевірити встановлення:

  1. Очистіть кеш Symfony, виконавши наступну команду з кореня вашого проекту:
    bin/console cache:clear
  2. Якщо ви в середовищі production, також прогрійте кеш:
    bin/console cache:clear --env=prod
    bin/console cache:warmup --env=prod
  3. Відвідайте вітрину Sylius у новій вкладці браузера або у вікні інкогніто
  4. Ви повинні побачити кнопку віджета чату в правому нижньому куті
  5. Натисніть на нього, щоб переконатися, що він відкривається та працює коректно

Не бачите віджет? Переконайтеся, що ви очистили кеш Symfony за допомогою bin/console cache:clear. Перевірте, що перевизначення шаблону знаходиться у правильній директорії (templates/bundles/SyliusShopBundle/). Спробуйте очистити кеш браузера або переглянути у вікні інкогніто. Перевірте консоль розробника браузера на наявність помилок JavaScript. Якщо використовуєте Webpack Encore, переконайтеся, що ви перебудували ресурси.

Примітка щодо версії Sylius: Шляхи перевизначення шаблонів можуть дещо відрізнятися між версіями Sylius. У Sylius 1.x шаблони бандлу магазину розташовані в templates/bundles/SyliusShopBundle/. Перевірте документацію Sylius для правильного шляху перевизначення, якщо ви використовуєте іншу версію.