Hoe u de Asyntai AI-chatbot toevoegt aan Bagisto

Stapsgewijze handleiding voor het Bagisto e-commerceplatform

Insluitcode ophalen

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 Blade lay-outtemplate (aanbevolen)

Bagisto maakt gebruik van Laravel Blade-templates. De aanbevolen aanpak is om de insluitcode rechtstreeks aan het winkellay-outbestand toe te voegen:

  1. Open het winkellay-outbestand:
    • Pakketbron: packages/Webkul/Shop/src/Resources/views/layouts/master.blade.php
    • Gepubliceerde versie: resources/views/vendor/shop/layouts/master.blade.php (als u de views hebt gepubliceerd)
  2. Zoek de afsluitende </body>-tag
  3. Voeg de insluitcode toe net vóór </body>, na @stack('scripts'):
@stack('scripts') <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> </body>

Tip: Als u de vendor views hebt gepubliceerd, bewerk dan de gepubliceerde versie in resources/views/vendor/shop/. Publiceer ze anders eerst met php artisan vendor:publish --tag=shop-views om te voorkomen dat wijzigingen verloren gaan bij pakketupdates.

Alternatieve methode 1: @push('scripts') gebruiken in een View

In elke Blade-view of -component kunt u de scripts-stack gebruiken om het chatbotscript te injecteren:

@push('scripts') <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> @endpush

Opmerking: Deze methode vereist dat @stack('scripts') aanwezig is in het hoofdlay-outbestand. Dit is standaard opgenomen in de lay-out van Bagisto.

Alternatieve methode 2: Een Service Provider gebruiken

U kunt een service provider gebruiken om het script programmatisch beschikbaar te maken in alle views. Maak een aangepaste service provider aan of gebruik AppServiceProvider:

public function boot() { view()->composer('shop::layouts.master', function ($view) { // The script will be available in the layout }); }

Of maak een Blade-component die de scripttag rendert en neem deze op in uw lay-out.

Tip: De service provider-aanpak is handig als u de chatbot voorwaardelijk wilt laden op basis van configuratiewaarden of omgevingsinstellingen.

Alternatieve methode 3: Het Bagisto Event System gebruiken

Bagisto activeert view-events op verschillende punten in de lay-out. U kunt luisteren naar bagisto.shop.layout.body.after om het chatbotscript te injecteren:

Event::listen('bagisto.shop.layout.body.after', function($viewRenderEventManager) { $viewRenderEventManager->addTemplate('shop::partials.asyntai-widget'); });

Maak vervolgens de partiële template aan op packages/Webkul/Shop/src/Resources/views/partials/asyntai-widget.blade.php (of het gepubliceerde equivalent) met uw insluitcode:

<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>

Opmerking: De event system-aanpak houdt uw wijzigingen modulair en gescheiden van de kernlay-outbestanden, waardoor het beheer tijdens Bagisto-upgrades eenvoudiger wordt.

Stap 3: Cache wissen en verifiëren

Wis na het toevoegen van de insluitcode de applicatiecache om ervoor te zorgen dat uw wijzigingen van kracht worden:

php artisan cache:clear && php artisan view:clear

Bezoek uw Bagisto-winkel 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 zowel php artisan cache:clear als php artisan view:clear hebt uitgevoerd. Probeer ook uw browsercache te wissen of te bekijken in een incognitovenster. Als u de pakketbron rechtstreeks hebt bewerkt, controleer dan of er geen gepubliceerde views uw wijzigingen overschrijven. Controleer of uw insluitcode correct is geplaatst vóór de afsluitende </body>-tag.