Slik legger du til Asyntai AI-chatbot i Sylius
Trinn-for-trinn-guide for Sylius e-handelsplattform
Trinn 1: Hent innbyggingskoden din
Gå først til Asyntai-dashbordet ditt og bla ned til «Innbyggingskode»-seksjonen. Kopier din unike innbyggingskode som vil se slik ut:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Merk: Koden ovenfor er bare et eksempel. Du må kopiere din egen unike innbyggingskode fra Dashbordet ditt, da den inneholder din personlige widget-ID.
Trinn 2: Legg til i Twig-oppsettmal (anbefalt)
Sylius er bygget på Symfony og bruker Twig-malmotoren. Den anbefalte tilnærmingen er å overstyre butikkoppsettmalen for å inkludere chatboten på alle butikksider.
- I Sylius-prosjektet ditt, naviger til
templates/bundles/SyliusShopBundle/-katalogen (opprett den hvis den ikke finnes) - Opprett eller rediger filen layout.html.twig for å overstyre standard butikkoppsett
- Hvis filen allerede finnes, finn
{% block javascripts %}blokken - Legg til Asyntai-innbyggingskoden ved å utvide javascripts-blokken:
{% block javascripts %} {{ parent() }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {% endblock %} - Erstatt
YOUR_WIDGET_IDmed din faktiske widget-ID fra dashbordet - Lagre filen
Tips: 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: Bruk av Sylius-malhendelser
Sylius tilbyr et kraftig malhendelsessystem som lar deg injisere innhold i spesifikke deler av oppsettet uten å overstyre hele maler. Du kan bruke dette til å legge til chatbot-widgeten i bunntekstområdet.
- Opprett en ny malfil på
templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twigmed følgende innhold:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Registrer malhendelsen i konfigurasjonsfilen
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 - Erstatt
YOUR_WIDGET_IDmed din faktiske widget-ID - Tøm Symfony-bufferen (se trinn 3 nedenfor)
Merk: Malhendelsestilnærmingen er den minst invasive metoden. Den krever ikke overstyring av noen eksisterende maler og integreres rent med Sylius sin arkitektur. priority-verdien kontrollerer gjengivelsesrekkefølgen hvis flere blokker er registrert for samme hendelse.
Alternativ metode 2: Bruk av Webpack Encore
Hvis Sylius-prosjektet ditt bruker Webpack Encore for ressursadministrasjon, kan du integrere chatbot-skriptet gjennom JavaScript-byggepipelinen din.
- Opprett en ny JavaScript-fil på
assets/shop/js/asyntai-chatbot.jsmed følgende innhold:(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 filen i butikkens inngangspunkt (f.eks.
assets/shop/entry.jsellerassets/shop/js/app.js):import './js/asyntai-chatbot'; - Gjenoppbygg ressursene dine ved å kjøre:
yarn encore devEller for produksjon:
yarn encore production - Erstatt
YOUR_WIDGET_IDmed din faktiske widget-ID
Tips: Bruk av Webpack Encore sikrer at chatbot-skriptet bundles med de andre ressursene dine og drar nytte av bufring og optimalisering som byggerverktøyet tilbyr.
Alternativ metode 3: Bruk av Sonata Block Bundle
Hvis Sylius-installasjonen din bruker Sonata Block Bundle (inkludert som standard i noen Sylius-konfigurasjoner), kan du opprette en egendefinert blokktjeneste for å gjengi chatbot-widgeten.
- Opprett en ny blokktjenesteklasse i prosjektet ditt, 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);
}
} - Opprett blokkmalen 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 blokktjenesten i
config/services.yaml:services:
app.block.asyntai_chatbot:
class: App\Block\AsyntaiChatbotBlockService
arguments:
- '@twig'
tags:
- { name: sonata.block, context: footer } - Plasser blokken i bunntekstkonteksten gjennom Sonata-admin eller ved å legge den til i oppsettkonfigurasjonen
- Erstatt
YOUR_WIDGET_IDmed din faktiske widget-ID
Viktig: Sonata Block-tilnærmingen krever mer oppsett, men gir fleksibilitet til å administrere chatbot-blokken gjennom administrasjonsgrensesnittet. Forsikre deg om at Sonata Block Bundle er installert og konfigurert i Sylius-prosjektet ditt før du bruker denne metoden.
Trinn 3: Tøm hurtigbuffer og bekreft
Etter at du har gjort endringene dine, må du tømme Symfony-bufferen og verifisere installasjonen:
- Tøm Symfony-bufferen ved å kjøre følgende kommando fra prosjektroten:
bin/console cache:clear - Hvis du er i et produksjonsmiljø, varm også opp bufferen:
bin/console cache:clear --env=prod
bin/console cache:warmup --env=prod - Besøk Sylius-butikkfronten din i en ny nettleserfane eller inkognitovindu
- Du bør se chat-widget-knappen i nedre høyre hjørne
- Klikk på den for å sikre at den åpnes og fungerer korrekt
Ser du ikke widgeten? Forsikre deg om at du tømte Symfony-bufferen med bin/console cache:clear. Verifiser at maloverstyringen er i riktig katalog (templates/bundles/SyliusShopBundle/). Prøv å tømme nettleserbufferen eller se i et inkognitovindu. Sjekk nettleserens utviklerkonsoll for eventuelle JavaScript-feil. Hvis du bruker Webpack Encore, forsikre deg om at du har gjenoppbygd ressursene.
Merknad om Sylius-versjon: Stier for maloverstyring kan variere litt mellom Sylius-versjoner. I Sylius 1.x er butikkbundlemalene plassert under templates/bundles/SyliusShopBundle/. Sjekk Sylius-dokumentasjonen for riktig overstyringsbane hvis du bruker en annen versjon.
Weebly