Cara Menambah Chatbot AI Asyntai ke Bagisto

Panduan langkah demi langkah untuk platform e-dagang Bagisto

Dapatkan Kod Benam

Langkah 1: Dapatkan Kod Benam Anda

Pertama, pergi ke Papan Pemuka Asyntai anda dan tatal ke bawah ke bahagian "Kod Benam". Salin kod benam unik anda yang akan kelihatan seperti ini:

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

Nota: Kod di atas hanyalah contoh. Anda mesti menyalin kod benam unik anda sendiri dari Papan Pemuka anda kerana ia mengandungi ID widget peribadi anda.

Langkah 2: Tambah ke Templat Susun Atur Blade (Disyorkan)

Bagisto menggunakan templat Laravel Blade. Pendekatan yang disyorkan adalah menambah kod benam terus ke fail susun atur kedai:

  1. Buka fail susun atur kedai:
    • Sumber pakej: packages/Webkul/Shop/src/Resources/views/layouts/master.blade.php
    • Versi diterbitkan: resources/views/vendor/shop/layouts/master.blade.php (jika anda telah menerbitkan paparan)
  2. Cari tag penutup </body>
  3. Tambah kod benam sejurus sebelum </body>, selepas @stack('scripts'):
@stack('scripts') <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> </body>

Petua: Jika anda telah menerbitkan paparan vendor, edit versi yang diterbitkan dalam resources/views/vendor/shop/. Jika tidak, terbitkan dahulu dengan php artisan vendor:publish --tag=shop-views untuk mengelakkan kehilangan perubahan semasa kemas kini pakej.

Kaedah Alternatif 1: Menggunakan @push('scripts') dalam Paparan

Dalam mana-mana paparan atau komponen Blade, anda boleh menggunakan tindanan skrip untuk menyuntik skrip chatbot:

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

Nota: Kaedah ini memerlukan @stack('scripts') hadir dalam fail susun atur utama. Ia disertakan secara lalai dalam susun atur Bagisto.

Kaedah Alternatif 2: Menggunakan Penyedia Perkhidmatan

Anda boleh menggunakan penyedia perkhidmatan untuk menjadikan skrip tersedia merentasi semua paparan secara pengaturcaraan. Cipta penyedia perkhidmatan tersuai atau gunakan AppServiceProvider:

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

Atau cipta komponen Blade yang merender tag skrip dan sertakannya dalam susun atur anda.

Petua: Pendekatan penyedia perkhidmatan berguna jika anda mahu memuat chatbot secara bersyarat berdasarkan nilai konfigurasi atau tetapan persekitaran.

Kaedah Alternatif 3: Menggunakan Sistem Acara Bagisto

Bagisto mencetuskan acara paparan di pelbagai titik dalam susun atur. Anda boleh mendengar bagisto.shop.layout.body.after untuk menyuntik skrip chatbot:

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

Kemudian cipta templat separa di packages/Webkul/Shop/src/Resources/views/partials/asyntai-widget.blade.php (atau setara yang diterbitkan) dengan kod benam anda:

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

Nota: Pendekatan sistem acara mengekalkan perubahan anda secara modular dan berasingan daripada fail susun atur teras, menjadikannya lebih mudah diurus semasa naik taraf Bagisto.

Langkah 3: Kosongkan Cache dan Sahkan

Selepas menambah kod benam, kosongkan cache aplikasi untuk memastikan perubahan anda berkuat kuasa:

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

Lawati kedai Bagisto anda dalam tab pelayar baharu atau tetingkap inkognito. Anda sepatutnya melihat butang widget sembang di sudut kanan bawah. Klik padanya untuk memastikan ia terbuka dan berfungsi dengan betul.

Tidak nampak widget? Pastikan anda menjalankan kedua-dua php artisan cache:clear dan php artisan view:clear. Juga cuba kosongkan cache pelayar anda atau lihat dalam tetingkap inkognito. Jika anda mengedit sumber pakej secara langsung, sahkan tiada paparan yang diterbitkan mengatasi perubahan anda. Semak bahawa kod benam anda diletakkan dengan betul sebelum tag penutup </body>.