Hoe voegt u de Asyntai AI-chatbot toe aan Sylius
Stapsgewijze handleiding voor het Sylius e-commerceplatform
Stap 1: Uw insluitcode ophalen
Ga eerst naar uw Asyntai Dashboard en scroll naar het gedeelte "Insluitcode". Kopieer uw unieke insluitcode die er als volgt uitziet:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Opmerking: De bovenstaande code is slechts een voorbeeld. U moet uw eigen unieke insluitcode kopiëren vanuit uw Dashboard omdat deze uw persoonlijke widget-ID bevat.
Stap 2: Toevoegen aan Twig-layouttemplate (aanbevolen)
Sylius is gebouwd op Symfony en gebruikt de Twig-template-engine. De aanbevolen aanpak is het overschrijven van de shop-layouttemplate om de chatbot op alle winkelpagina's op te nemen.
- Navigeer in uw Sylius-project naar de map
templates/bundles/SyliusShopBundle/(maak deze aan als deze niet bestaat) - Maak of bewerk het bestand layout.html.twig om de standaard shop-layout te overschrijven
- Als het bestand al bestaat, zoek dan het
{% block javascripts %}blok - Voeg de Asyntai-insluitcode toe door het javascripts-blok uit te breiden:
{% block javascripts %} {{ parent() }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {% endblock %} - Vervang
YOUR_WIDGET_IDdoor uw daadwerkelijke widget-ID uit het dashboard - Sla het bestand op
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.
Alternatieve methode 1: Sylius Template Events gebruiken
Sylius biedt een krachtig template-eventsysteem waarmee u inhoud kunt injecteren in specifieke delen van de layout zonder volledige templates te overschrijven. U kunt dit gebruiken om de chatbot-widget aan het voettekstgebied toe te voegen.
- Maak een nieuw templatebestand aan op
templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twigmet de volgende inhoud:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Registreer het template-event in uw configuratiebestand
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 - Vervang
YOUR_WIDGET_IDdoor uw werkelijke widget-ID - Wis de Symfony-cache (zie Stap 3 hieronder)
Opmerking: De template-event-aanpak is de minst invasieve methode. Het vereist geen overschrijving van bestaande templates en integreert schoon met de architectuur van Sylius. De priority-waarde bepaalt de weergavevolgorde als er meerdere blokken zijn geregistreerd voor hetzelfde event.
Alternatieve methode 2: Webpack Encore gebruiken
Als uw Sylius-project Webpack Encore gebruikt voor assetbeheer, kunt u het chatbotscript integreren via uw JavaScript-buildpipeline.
- Maak een nieuw JavaScript-bestand aan op
assets/shop/js/asyntai-chatbot.jsmet de volgende inhoud:(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);
})(); - Importeer dit bestand in uw shop-ingangspunt (bijv.
assets/shop/entry.jsofassets/shop/js/app.js):import './js/asyntai-chatbot'; - Bouw uw assets opnieuw op door het volgende uit te voeren:
yarn encore devOf voor productie:
yarn encore production - Vervang
YOUR_WIDGET_IDdoor uw werkelijke widget-ID
Tip: Het gebruik van Webpack Encore zorgt ervoor dat het chatbotscript wordt gebundeld met uw andere assets en profiteert van caching en optimalisatie die door de buildtool worden geboden.
Alternatieve methode 3: Sonata Block Bundle gebruiken
Als uw Sylius-installatie de Sonata Block Bundle gebruikt (standaard opgenomen in sommige Sylius-configuraties), kunt u een aangepaste blokservice maken om de chatbot-widget weer te geven.
- Maak een nieuwe blokserviceklasse aan in uw project, bijvoorbeeld
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);
}
} - Maak de bloktemplate aan op
templates/block/asyntai_chatbot.html.twig:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Registreer de blokservice in uw
config/services.yaml:services:
app.block.asyntai_chatbot:
class: App\Block\AsyntaiChatbotBlockService
arguments:
- '@twig'
tags:
- { name: sonata.block, context: footer } - Plaats het blok in uw voettekstcontext via de Sonata-admin of door het toe te voegen aan uw layoutconfiguratie
- Vervang
YOUR_WIDGET_IDdoor uw werkelijke widget-ID
Belangrijk: De Sonata Block-aanpak vereist meer configuratie maar biedt flexibiliteit om het chatbotblok via de beheerinterface te beheren. Zorg ervoor dat de Sonata Block Bundle is geïnstalleerd en geconfigureerd in uw Sylius-project voordat u deze methode gebruikt.
Stap 3: Cache wissen en verifiëren
Na het aanbrengen van uw wijzigingen moet u de Symfony-cache wissen en de installatie verifiëren:
- Wis de Symfony-cache door de volgende opdracht uit te voeren vanuit uw projecthoofdmap:
bin/console cache:clear - Als u zich in een productieomgeving bevindt, warm dan ook de cache op:
bin/console cache:clear --env=prod
bin/console cache:warmup --env=prod - Bezoek uw Sylius-webwinkel in een nieuw browsertabblad of incognitovenster
- U zou de chatwidgetknop in de rechteronderhoek moeten zien
- Klik erop om te controleren of deze correct opent en werkt
Ziet u de widget niet? Zorg ervoor dat u de Symfony-cache hebt gewist met bin/console cache:clear. Controleer of de template-overschrijving in de juiste map staat (templates/bundles/SyliusShopBundle/). Probeer uw browsercache te wissen of bekijk de site in een incognitovenster. Controleer de browserconsole op JavaScript-fouten. Als u Webpack Encore gebruikt, zorg er dan voor dat u de assets opnieuw hebt opgebouwd.
Opmerking over Sylius-versie: Paden voor template-overschrijvingen kunnen enigszins variëren tussen Sylius-versies. In Sylius 1.x bevinden de shop bundle-templates zich onder templates/bundles/SyliusShopBundle/. Raadpleeg uw Sylius-documentatie voor het juiste overschrijvingspad als u een andere versie gebruikt.
Weebly