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