Назад на контролну таблу

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

Научите како да користите Asyntai

Како додати Asyntai AI чатбот на Sylius

Водич корак по корак за Sylius платформу за електронску трговину

Преузмите код за уградњу

Корак 1: Набавите свој код за уграђивање

Прво, идите на своју Asyntai контролну таблу и померите се до одељка „Код за уграђивање". Копирајте свој јединствени код за уграђивање који ће изгледати овако:

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

Напомена: Код изнад је само пример. Морате копирати свој јединствени код за уграђивање са своје Контролне табле јер садржи ваш лични ИД виџета.

Корак 2: Додајте у Twig шаблон распореда (препоручено)

Sylius је изграђен на Symfony-ју и користи Twig мотор шаблонирања. Препоручени приступ је преписивање шаблона распореда продавнице да бисте укључили чатбот на свим страницама продавнице.

  1. У вашем Sylius пројекту, навигирајте до директоријума templates/bundles/SyliusShopBundle/ (креирајте га ако не постоји)
  2. Креирајте или уредите фајл layout.html.twig да бисте преписали подразумевани распоред продавнице
  3. Ако фајл већ постоји, пронађите {% block javascripts %} блок
  4. Додајте Asyntai код за уградњу проширивањем javascripts блока:
    {% block javascripts %} {{ parent() }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {% endblock %}
  5. Замените YOUR_WIDGET_ID стварним ИД-ом виџета са контролне табле
  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 Template Events

Sylius пружа моћан систем догађаја шаблона који вам омогућава да убаците садржај у одређене делове распореда без преписивања целих шаблона. Можете ово користити за додавање виџета чатбота у област подножја.

  1. Креирајте нови фајл шаблона на templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twig са следећим садржајем:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></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 стварним ИД-ом виџета
  4. Очистите Symfony кеш (погледајте Корак 3 испод)

Напомена: Приступ са догађајима шаблона је најмање инвазивна метода. Не захтева преписивање постојећих шаблона и чисто се интегрише са Sylius архитектуром. Вредност priority контролише редослед рендеровања ако је више блокова регистровано за исти догађај.

Алтернативна метода 2: Коришћење Webpack Encore

Ако ваш Sylius пројекат користи Webpack Encore за управљање средствима, можете интегрисати скрипту чатбота кроз ваш JavaScript build pipeline.

  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. Увезите овај фајл у вашу shop улазну тачку (нпр. assets/shop/entry.js или assets/shop/js/app.js):
    import './js/asyntai-chatbot';
  3. Поново изградите ваша средства покретањем:
    yarn encore dev

    Или за продукцију:

    yarn encore production
  4. Замените YOUR_WIDGET_ID стварним ИД-ом виџета

Савет: Коришћење Webpack Encore обезбеђује да скрипта чатбота буде упакована са вашим другим средствима и користи предности кеширања и оптимизације које пружа алат за изградњу.

Алтернативна метода 3: Коришћење Sonata Block Bundle

Ако ваша Sylius инсталација користи Sonata Block Bundle (укључен подразумевано у неким Sylius конфигурацијама), можете креирати прилагођени block service за рендеровање виџета чатбота.

  1. Креирајте нову block service класу у вашем пројекту, на пример 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 async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  3. Региструјте block service у вашем 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 стварним ИД-ом виџета

Важно: Приступ са Sonata Block-ом захтева више подешавања али пружа флексибилност за управљање блоком чатбота кроз администраторски интерфејс. Проверите да ли је Sonata Block Bundle инсталиран и конфигурисан у вашем Sylius пројекту пре коришћења ове методе.

Корак 3: Обришите кеш и верификујте

Након извршавања промена, потребно је да очистите Symfony кеш и потврдите инсталацију:

  1. Очистите Symfony кеш покретањем следеће команде из основног директоријума вашег пројекта:
    bin/console cache:clear
  2. Ако сте у продукцијском окружењу, такође загрејте кеш:
    bin/console cache:clear --env=prod
    bin/console cache:warmup --env=prod
  3. Отворите свој веб-сајт у новој картици претраживача или инкогнито прозору
  4. Требало би да видите дугме виџета за ћаскање у доњем десном углу
  5. Кликните на њега да бисте се уверили да се отвара и исправно ради

Не видите виџет? Проверите да ли сте очистили Symfony кеш командом bin/console cache:clear. Потврдите да је преписивање шаблона у исправном директоријуму (templates/bundles/SyliusShopBundle/). Покушајте да обришете кеш прегледача или да прегледате у инкогнито прозору. Проверите конзолу прегледача за JavaScript грешке. Ако користите Webpack Encore, проверите да ли сте поново изградили средства.

Напомена о верзији Sylius-а: Путање за преписивање шаблона могу се незнатно разликовати између верзија Sylius-а. У Sylius 1.x, шаблони shop bundle-а налазе се под templates/bundles/SyliusShopBundle/. Проверите вашу Sylius документацију за исправну путању за преписивање ако користите другу верзију.