Sådan tilføjer du Asyntai AI-chatbot til Sylius
Trin-for-trin-vejledning til Sylius e-handelsplatformen
Trin 1: Hent din indlejringskode
Gå først til dit Asyntai Dashboard og rul ned til sektionen "Indlejringskode". Kopiér din unikke indlejringskode, der vil se sådan ud:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Bemærk: Koden ovenfor er blot et eksempel. Du skal kopiere din egen unikke indlejringskode fra dit Dashboard, da den indeholder dit personlige widget-ID.
Trin 2: Tilføj til Twig-layoutskabelon (anbefalet)
Sylius er bygget på Symfony og bruger Twig-skabelonmotoren. Den anbefalede tilgang er at tilsidesætte butikkens layoutskabelon for at inkludere chatbotten på alle butikssidesider.
- I dit Sylius-projekt skal du navigere til mappen
templates/bundles/SyliusShopBundle/(opret den, hvis den ikke eksisterer) - Opret eller rediger filen layout.html.twig for at tilsidesætte standardbutikkens layout
- Hvis filen allerede eksisterer, skal du finde
{% block javascripts %}blokken - Tilføj Asyntai-indlejringskoden ved at udvide javascripts-blokken:
{% block javascripts %} {{ parent() }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {% endblock %} - Erstat
YOUR_WIDGET_IDmed dit faktiske widget-ID fra dashboardet - Gem filen
Tip: 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.
Alternativ metode 1: Brug af Sylius-skabelonbegivenheder
Sylius tilbyder et kraftfuldt skabelonbegivenhedssystem, der giver dig mulighed for at injicere indhold i specifikke dele af layoutet uden at tilsidesætte hele skabeloner. Du kan bruge dette til at tilføje chatbot-widgetten til sidefodsområdet.
- Opret en ny skabelonfil på
templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twigmed følgende indhold:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Registrer skabelonbegivenheden i din
config/packages/sylius_ui.yaml-konfigurationsfil:sylius_ui:
events:
sylius.shop.layout.after_body:
blocks:
asyntai_chatbot:
template: "@SyliusShop/Event/asyntai_widget.html.twig"
priority: 0 - Erstat
YOUR_WIDGET_IDmed dit faktiske widget-ID - Ryd Symfony-cachen (se trin 3 nedenfor)
Bemærk: Skabelonbegivenheds-tilgangen er den mindst invasive metode. Den kræver ikke tilsidesættelse af eksisterende skabeloner og integreres rent med Sylius' arkitektur. Værdien priority styrer gengivelsesordenen, hvis flere blokke er registreret for den samme begivenhed.
Alternativ metode 2: Brug af Webpack Encore
Hvis dit Sylius-projekt bruger Webpack Encore til ressourcestyring, kan du integrere chatbot-scriptet via din JavaScript-byggepipeline.
- Opret en ny JavaScript-fil på
assets/shop/js/asyntai-chatbot.jsmed følgende indhold:(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);
})(); - Importer denne fil i dit butiks-indgangspunkt (f.eks.
assets/shop/entry.jsellerassets/shop/js/app.js):import './js/asyntai-chatbot'; - Genopbyg dine ressourcer ved at køre:
yarn encore devEller til produktion:
yarn encore production - Erstat
YOUR_WIDGET_IDmed dit faktiske widget-ID
Tip: Brug af Webpack Encore sikrer, at chatbot-scriptet pakkes med dine andre ressourcer og drager fordel af caching og optimering leveret af byggeredskabet.
Alternativ metode 3: Brug af Sonata Block Bundle
Hvis din Sylius-installation bruger Sonata Block Bundle (inkluderet som standard i nogle Sylius-konfigurationer), kan du oprette en brugerdefineret blokservice til at rendere chatbot-widgetten.
- Opret en ny blokserviceklasse i dit projekt, for eksempel
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);
}
} - Opret blokskabelonen på
templates/block/asyntai_chatbot.html.twig:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Registrer blokservicen i din
config/services.yaml:services:
app.block.asyntai_chatbot:
class: App\Block\AsyntaiChatbotBlockService
arguments:
- '@twig'
tags:
- { name: sonata.block, context: footer } - Placer blokken i din sidefodskontekst via Sonata-admin eller ved at tilføje den til din layoutkonfiguration
- Erstat
YOUR_WIDGET_IDmed dit faktiske widget-ID
Vigtigt: Sonata Block-tilgangen kræver mere opsætning, men giver fleksibilitet til at administrere chatbot-blokken via admingrænsefladen. Sørg for, at Sonata Block Bundle er installeret og konfigureret i dit Sylius-projekt, inden du bruger denne metode.
Trin 3: Ryd cache og verificér
Efter at have foretaget dine ændringer skal du rydde Symfony-cachen og bekræfte installationen:
- Ryd Symfony-cachen ved at køre følgende kommando fra din projektrod:
bin/console cache:clear - Hvis du er i et produktionsmiljø, skal du også varme cachen op:
bin/console cache:clear --env=prod
bin/console cache:warmup --env=prod - Besøg din Sylius-butiksfront i en ny browserfane eller inkognitovindue
- Du bør se chat-widget-knappen i nederste højre hjørne
- Klik på den for at sikre, at den åbner og fungerer korrekt
Ser du ikke widget'en? Sørg for, at du ryddede Symfony-cachen med bin/console cache:clear. Bekræft, at skabelontilsidesættelsen er i den korrekte mappe (templates/bundles/SyliusShopBundle/). Prøv at rydde din browsercache eller se siden i et inkognitovindue. Tjek browserens udviklerkonsol for eventuelle JavaScript-fejl. Hvis du bruger Webpack Encore, skal du sikre, at du har genopbygget ressourcerne.
Bemærkning om Sylius-version: Stier til tilsidesættelse af skabeloner kan variere lidt mellem Sylius-versioner. I Sylius 1.x er butiksbundtskabelonerne placeret under templates/bundles/SyliusShopBundle/. Tjek din Sylius-dokumentation for den korrekte tilsidesættelsessti, hvis du bruger en anden version.
Weebly