Powrót do panelu

Dokumentacja

Dowiedz się, jak korzystać z Asyntai

Jak dodać chatbota Asyntai AI do Bagisto

Przewodnik krok po kroku dla platformy e-commerce Bagisto

Pobierz kod osadzania

Krok 1: Pobierz swój kod osadzania

Najpierw przejdź do swojego Panelu Asyntai i przewiń w dół do sekcji "Kod osadzania". Skopiuj swój unikalny kod osadzania, który będzie wyglądał tak:

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

Uwaga: Powyższy kod to tylko przykład. Musisz skopiować swój własny unikalny kod osadzania z Panelu, ponieważ zawiera on Twój osobisty identyfikator widgetu.

Krok 2: Dodaj do szablonu układu Blade (zalecane)

Bagisto korzysta z szablonów Laravel Blade. Zalecane podejście to dodanie kodu osadzania bezpośrednio do pliku układu sklepu:

  1. Otwórz plik układu sklepu:
    • Źródło pakietu: packages/Webkul/Shop/src/Resources/views/layouts/master.blade.php
    • Opublikowana wersja: resources/views/vendor/shop/layouts/master.blade.php (jeśli opublikowałeś widoki)
  2. Znajdź zamykający znacznik </body>
  3. Dodaj kod osadzania tuż przed </body>, po @stack('scripts'):
@stack('scripts') <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> </body>

Wskazówka: Jeśli opublikowałeś widoki dostawcy, edytuj opublikowaną wersję w resources/views/vendor/shop/. W przeciwnym razie najpierw je opublikuj za pomocą php artisan vendor:publish --tag=shop-views, aby uniknąć utraty zmian podczas aktualizacji pakietów.

Metoda alternatywna 1: Użycie @push('scripts') w widoku

W dowolnym widoku lub komponencie Blade można użyć stosu skryptów do wstrzyknięcia skryptu chatbota:

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

Uwaga: Ta metoda wymaga, aby @stack('scripts') był obecny w głównym pliku układu. Jest on domyślnie zawarty w układzie Bagisto.

Metoda alternatywna 2: Użycie dostawcy usług (Service Provider)

Możesz użyć dostawcy usług, aby programowo udostępnić skrypt we wszystkich widokach. Utwórz własnego dostawcę usług lub użyj AppServiceProvider:

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

Lub utwórz komponent Blade, który renderuje znacznik script i dołącz go do swojego układu.

Wskazówka: Podejście z dostawcą usług jest przydatne, jeśli chcesz warunkowo ładować chatbota na podstawie wartości konfiguracji lub ustawień środowiska.

Metoda alternatywna 3: Użycie systemu zdarzeń Bagisto

Bagisto emituje zdarzenia widoku w różnych miejscach układu. Możesz nasłuchiwać bagisto.shop.layout.body.after, aby wstrzyknąć skrypt chatbota:

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

Następnie utwórz częściowy szablon w packages/Webkul/Shop/src/Resources/views/partials/asyntai-widget.blade.php (lub opublikowany odpowiednik) z kodem osadzania:

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

Uwaga: Podejście z systemem zdarzeń utrzymuje zmiany w sposób modularny i oddzielony od głównych plików układu, co ułatwia zarządzanie podczas aktualizacji Bagisto.

Krok 3: Wyczyść pamięć podręczną i zweryfikuj

Po dodaniu kodu osadzania wyczyść pamięć podręczną aplikacji, aby upewnić się, że zmiany zostaną zastosowane:

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

Odwiedź swój sklep Bagisto w nowej karcie przeglądarki lub w oknie incognito. Powinieneś zobaczyć przycisk widgetu czatu w prawym dolnym rogu. Kliknij go, aby upewnić się, że otwiera się i działa prawidłowo.

Nie widzisz widgetu? Upewnij się, że uruchomiłeś zarówno php artisan cache:clear, jak i php artisan view:clear. Spróbuj również wyczyścić pamięć podręczną przeglądarki lub wyświetlić stronę w oknie incognito. Jeśli edytowałeś źródło pakietu bezpośrednio, sprawdź, czy żadne opublikowane widoki nie nadpisują Twoich zmian. Upewnij się, że kod osadzania jest prawidłowo umieszczony przed zamykającym znacznikiem </body>.