Како додати 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 мотор шаблонирања. Препоручени приступ је преписивање шаблона распореда продавнице да бисте укључили чатбот на свим страницама продавнице.
- У вашем Sylius пројекту, навигирајте до директоријума
templates/bundles/SyliusShopBundle/(креирајте га ако не постоји) - Креирајте или уредите фајл layout.html.twig да бисте преписали подразумевани распоред продавнице
- Ако фајл већ постоји, пронађите
{% block javascripts %}блок - Додајте Asyntai код за уградњу проширивањем javascripts блока:
{% block javascripts %} {{ parent() }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {% endblock %} - Замените
YOUR_WIDGET_IDстварним ИД-ом виџета са контролне табле - Сачувајте фајл
Савет: 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 пружа моћан систем догађаја шаблона који вам омогућава да убаците садржај у одређене делове распореда без преписивања целих шаблона. Можете ово користити за додавање виџета чатбота у област подножја.
- Креирајте нови фајл шаблона на
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> - Региструјте догађај шаблона у вашем конфигурационом фајлу
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 - Замените
YOUR_WIDGET_IDстварним ИД-ом виџета - Очистите Symfony кеш (погледајте Корак 3 испод)
Напомена: Приступ са догађајима шаблона је најмање инвазивна метода. Не захтева преписивање постојећих шаблона и чисто се интегрише са Sylius архитектуром. Вредност priority контролише редослед рендеровања ако је више блокова регистровано за исти догађај.
Алтернативна метода 2: Коришћење Webpack Encore
Ако ваш Sylius пројекат користи Webpack Encore за управљање средствима, можете интегрисати скрипту чатбота кроз ваш JavaScript build pipeline.
- Креирајте нови 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);
})(); - Увезите овај фајл у вашу shop улазну тачку (нпр.
assets/shop/entry.jsилиassets/shop/js/app.js):import './js/asyntai-chatbot'; - Поново изградите ваша средства покретањем:
yarn encore devИли за продукцију:
yarn encore production - Замените
YOUR_WIDGET_IDстварним ИД-ом виџета
Савет: Коришћење Webpack Encore обезбеђује да скрипта чатбота буде упакована са вашим другим средствима и користи предности кеширања и оптимизације које пружа алат за изградњу.
Алтернативна метода 3: Коришћење Sonata Block Bundle
Ако ваша Sylius инсталација користи Sonata Block Bundle (укључен подразумевано у неким Sylius конфигурацијама), можете креирати прилагођени block service за рендеровање виџета чатбота.
- Креирајте нову 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);
}
} - Креирајте шаблон блока на
templates/block/asyntai_chatbot.html.twig:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Региструјте block service у вашем
config/services.yaml:services:
app.block.asyntai_chatbot:
class: App\Block\AsyntaiChatbotBlockService
arguments:
- '@twig'
tags:
- { name: sonata.block, context: footer } - Поставите блок у контекст подножја кроз Sonata администрацију или додавањем у вашу конфигурацију распореда
- Замените
YOUR_WIDGET_IDстварним ИД-ом виџета
Важно: Приступ са Sonata Block-ом захтева више подешавања али пружа флексибилност за управљање блоком чатбота кроз администраторски интерфејс. Проверите да ли је Sonata Block Bundle инсталиран и конфигурисан у вашем Sylius пројекту пре коришћења ове методе.
Корак 3: Обришите кеш и верификујте
Након извршавања промена, потребно је да очистите Symfony кеш и потврдите инсталацију:
- Очистите Symfony кеш покретањем следеће команде из основног директоријума вашег пројекта:
bin/console cache:clear - Ако сте у продукцијском окружењу, такође загрејте кеш:
bin/console cache:clear --env=prod
bin/console cache:warmup --env=prod - Отворите свој веб-сајт у новој картици претраживача или инкогнито прозору
- Требало би да видите дугме виџета за ћаскање у доњем десном углу
- Кликните на њега да бисте се уверили да се отвара и исправно ради
Не видите виџет? Проверите да ли сте очистили Symfony кеш командом bin/console cache:clear. Потврдите да је преписивање шаблона у исправном директоријуму (templates/bundles/SyliusShopBundle/). Покушајте да обришете кеш прегледача или да прегледате у инкогнито прозору. Проверите конзолу прегледача за JavaScript грешке. Ако користите Webpack Encore, проверите да ли сте поново изградили средства.
Напомена о верзији Sylius-а: Путање за преписивање шаблона могу се незнатно разликовати између верзија Sylius-а. У Sylius 1.x, шаблони shop bundle-а налазе се под templates/bundles/SyliusShopBundle/. Проверите вашу Sylius документацију за исправну путању за преписивање ако користите другу верзију.
Weebly