Zpět na přehled

Dokumentace

Naučte se používat Asyntai

Jak přidat AI chatbota Asyntai do Bagisto

Průvodce krok za krokem pro e-commerce platformu Bagisto

Získat kód pro vložení

Krok 1: Získejte svůj vkládací kód

Nejprve přejděte na svůj Asyntai Dashboard a přejděte dolů k sekci „Embed Code". Zkopírujte svůj unikátní kód pro vložení, který bude vypadat takto:

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

Poznámka: Kód výše je pouze příklad. Musíte zkopírovat svůj vlastní unikátní kód pro vložení z vašeho Dashboardu, protože obsahuje vaše osobní ID widgetu.

Krok 2: Přidejte do šablony Blade Layout (doporučeno)

Bagisto používá šablony Laravel Blade. Doporučený přístup je přidat vkládací kód přímo do souborů rozvržení obchodu:

  1. Otevřete soubor rozvržení obchodu:
    • Zdroj balíčku: packages/Webkul/Shop/src/Resources/views/layouts/master.blade.php
    • Publikovaná verze: resources/views/vendor/shop/layouts/master.blade.php (pokud jste publikovali pohledy)
  2. Najděte uzavírací značku </body>
  3. Přidejte vkládací kód těsně před </body>, za @stack('scripts'):
@stack('scripts') <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> </body>

Tip: Pokud jste publikovali pohledy dodavatele, upravte publikovanou verzi v resources/views/vendor/shop/. V opačném případě je nejprve publikujte pomocí php artisan vendor:publish --tag=shop-views, abyste předešli ztrátě změn při aktualizaci balíčků.

Alternativní metoda 1: Použití @push('scripts') v pohledu

V jakémkoli pohledu nebo komponentě Blade můžete použít zásobník scripts pro vložení skriptů chatbota:

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

Poznámka: Tato metoda vyžaduje, aby byl @stack('scripts') přítomen v hlavním souboru rozvržení. Ve výchozím nastavení je zahrnut v rozvržení Bagisto.

Alternativní metoda 2: Použití Service Provideru

Můžete použít service provider k programatickému zpřístupnění skriptů ve všech pohledech. Vytvořte vlastní service provider nebo použijte AppServiceProvider:

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

Nebo vytvořte komponentu Blade, která vykreslí značku script, a zahrňte ji do svého rozvržení.

Tip: Přístup se service providerem je užitečný, pokud chcete chatbota podmíněně načítat na základě konfiguračních hodnot nebo nastavení prostředí.

Alternativní metoda 3: Použití systému událostí Bagisto

Bagisto spouští události pohledů v různých bodech rozvržení. Můžete naslouchat události bagisto.shop.layout.body.after pro vložení skriptů chatbota:

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

Poté vytvořte částečnou šablonu na packages/Webkul/Shop/src/Resources/views/partials/asyntai-widget.blade.php (nebo publikovaný ekvivalent) s vaším vkládacím kódem:

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

Poznámka: Přístup se systémem událostí udržuje vaše změny modulární a oddělené od základních souborů rozvržení, což usnadňuje správu při aktualizacích Bagisto.

Krok 3: Vymažte mezipaměť a ověřte

Po přidání vkládacího kódu vymažte mezipaměť aplikace, aby se vaše změny projevily:

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

Navštivte svůj obchod Bagisto v nové záložce prohlížeče nebo v anonymním okně. Měli byste vidět tlačítko chatovacího widgetu v pravém dolním rohu. Klikněte na něj a ověřte, že se správně otevírá a funguje.

Nevidíte widget? Ujistěte se, že jste spustili jak php artisan cache:clear, tak php artisan view:clear. Zkuste také vymazat mezipaměť prohlížeče nebo si web prohlédnout v anonymním okně. Pokud jste přímo upravili zdroj balíčku, ověřte, že žádné publikované pohledy nepřepisují vaše změny. Zkontrolujte, že je vkládací kód správně umístěn před uzavírací značkou </body>.