Hur du lägger till Asyntai AI-chattbot i Sylius
Steg-för-steg-guide för Sylius e-handelsplattform
Steg 1: Hämta din inbäddningskod
Gå först till din Asyntai-instrumentpanel och scrolla ner till avsnittet "Inbäddningskod". Kopiera din unika inbäddningskod som ser ut så här:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Obs! Koden ovan är bara ett exempel. Du måste kopiera din egen unika inbäddningskod från din Dashboard eftersom den innehåller ditt personliga widget-ID.
Steg 2: Lägg till i Twig-layoutmallen (rekommenderas)
Sylius är byggt på Symfony och använder Twig som mallmotor. Det rekommenderade tillvägagångssättet är att åsidosätta butikens layoutmall för att inkludera chattboten på alla butikssidor.
- I ditt Sylius-projekt, navigera till katalogen
templates/bundles/SyliusShopBundle/(skapa den om den inte finns) - Skapa eller redigera filen layout.html.twig för att åsidosätta standardbutikslayouten
- Om filen redan finns, hitta
{% block javascripts %}block - Lägg till Asyntai-inbäddningskoden genom att utöka javascripts-blocket:
{% block javascripts %} {{ parent() }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {% endblock %} - Ersätt
YOUR_WIDGET_IDmed ditt faktiska widget-ID från instrumentpanelen - Spara 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 metod 1: Använda Sylius-mallhändelser
Sylius tillhandahåller ett kraftfullt mallhändelsesystem som låter dig injicera innehåll i specifika delar av layouten utan att åsidosätta hela mallar. Du kan använda detta för att lägga till chattbot-widgeten i sidfotens område.
- Skapa en ny mallfil på
templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twigmed följande innehåll:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Registrera mallhändelsen i din konfigurationsfil
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 - Ersätt
YOUR_WIDGET_IDmed ditt faktiska widget-ID - Rensa Symfony-cachen (se steg 3 nedan)
Obs! Mallhändelsemetoden är den minst invasiva metoden. Den kräver inte att du åsidosätter några befintliga mallar och integreras rent med Sylius arkitektur. Värdet priority styr renderingsordningen om flera block är registrerade för samma händelse.
Alternativ metod 2: Använda Webpack Encore
Om ditt Sylius-projekt använder Webpack Encore för tillgångshantering kan du integrera chattbot-skriptet via din JavaScript-byggpipeline.
- Skapa en ny JavaScript-fil på
assets/shop/js/asyntai-chatbot.jsmed följande innehåll:(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);
})(); - Importera den här filen i din butiks startpunkt (t.ex.
assets/shop/entry.jsellerassets/shop/js/app.js):import './js/asyntai-chatbot'; - Bygg om dina tillgångar genom att köra:
yarn encore devEller för produktion:
yarn encore production - Ersätt
YOUR_WIDGET_IDmed ditt faktiska widget-ID
Tips: Att använda Webpack Encore säkerställer att chatbot-skriptet buntas med dina andra tillgångar och drar nytta av caching och optimering som byggverktyget erbjuder.
Alternativ metod 3: Använda Sonata Block Bundle
Om din Sylius-installation använder Sonata Block Bundle (ingår som standard i vissa Sylius-konfigurationer) kan du skapa en anpassad blocktjänst för att rendera chattbot-widgeten.
- Skapa en ny blockserviceklass i ditt projekt, till exempel
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);
}
} - Skapa blockmallfilen 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> - Registrera blocktjänsten i din
config/services.yaml:services:
app.block.asyntai_chatbot:
class: App\Block\AsyntaiChatbotBlockService
arguments:
- '@twig'
tags:
- { name: sonata.block, context: footer } - Placera blocket i din sidfotskontext via Sonata-administratören eller genom att lägga till det i din layoutkonfiguration
- Ersätt
YOUR_WIDGET_IDmed ditt faktiska widget-ID
Viktigt: Sonata Block-metoden kräver mer installation men ger flexibilitet att hantera chattbot-blocket via administratörsgränssnittet. Se till att Sonata Block Bundle är installerat och konfigurerat i ditt Sylius-projekt innan du använder den här metoden.
Steg 3: Rensa cache och verifiera
Efter att du har gjort dina ändringar måste du rensa Symfony-cachen och verifiera installationen:
- Rensa Symfony-cachen genom att köra följande kommando från din projektrot:
bin/console cache:clear - Om du befinner dig i en produktionsmiljö, värm även upp cachen:
bin/console cache:clear --env=prod
bin/console cache:warmup --env=prod - Besök din Sylius-butik i en ny webbläsarflik eller inkognitofönster
- Du bör se chattwidgetknappen i det nedre högra hörnet
- Klicka på den för att kontrollera att den öppnas och fungerar korrekt
Ser du inte widgeten? Se till att du rensade Symfony-cachen med bin/console cache:clear. Kontrollera att mallöverskrivningen finns i rätt katalog (templates/bundles/SyliusShopBundle/). Prova att rensa webbläsarens cache eller visa i ett inkognitofönster. Kontrollera webbläsarens utvecklarkonsol för JavaScript-fel. Om du använder Webpack Encore, se till att du har byggt om tillgångarna.
Obs angående Sylius-version: Sökvägar för mallåsidosättning kan variera något mellan olika Sylius-versioner. I Sylius 1.x finns butiksbuntens mallar under templates/bundles/SyliusShopBundle/. Kontrollera din Sylius-dokumentation för rätt åsidosättningssökväg om du använder en annan version.
Weebly