Natrag na nadzornu ploču

Dokumentacija

Naučite kako koristiti Asyntai

Kako dodati Asyntai AI chatbot na SilverStripe

Vodič korak po korak za SilverStripe CMS

Nabavite kod za ugradnju

Korak 1: Nabavite svoj kod za ugradnju

Prvo idite na svoju Asyntai nadzornu ploču i pomaknite se prema dolje do odjeljka "Kod za ugradnju". Kopirajte svoj jedinstveni kod za ugradnju koji će izgledati ovako:

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

Napomena: Gornji kod je samo primjer. Morate kopirati svoj vlastiti jedinstveni kod za ugradnju sa svoje Nadzorne ploče jer sadrži vaš osobni ID widgeta.

Korak 2: Dodajte u SilverStripe predložak (Preporučeno)

Najjednostavniji nacin za dodavanje chatbota na vasu SilverStripe stranicu je izravno uredivanje glavne datoteke predloska teme:

  1. Otvorite datoteku predloska teme (npr. themes/vasatema/templates/Page.ss)
  2. Dodajte ugradni kod neposredno prije zavrsne oznake </body>:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> </body> </html>
  1. Spremite datoteku i ispraznite SilverStripe predmemoriju dodavanjem ?flush=1 na URL stranice

Savjet: SilverStripe koristi .ss datoteke predlozaka sa sustavom nasljedivanja predlozaka. Postavljanje skripte u osnovni predlozak Page.ss osigurava pojavljivanje chatbota na svakoj stranici vaseg weba. Ako vasa tema koristi mapu Includes, takoder mozete postaviti skriptu u zajednicku datoteku za ukljucivanje.

Alternativna metoda 1: Korištenje klase Requirements u kontroleru

SilverStripe pruza klasu Requirements za programsko upravljanje JavaScript i CSS ovisnostima. Ovo je preporuceni pristup za programere:

  1. Otvorite app/src/PageController.php (ili svoju datoteku kontrolera stranice)
  2. U metodi init() koristite Requirements::customScript() za dinamicko ucitavanje widgeta:
use SilverStripe\View\Requirements; class PageController extends \SilverStripe\CMS\Controllers\ContentController { protected function init() { parent::init(); Requirements::customScript(<<<JS var script = document.createElement('script'); script.src = 'https://asyntai.com/static/js/chat-widget.js'; script.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID'); script.async = true; document.head.appendChild(script); JS); } }
  1. Spremite datoteku i ispraznite predmemoriju posjetom vasadomena.com?flush=1

Napomena: Klasa Requirements standardni je SilverStripe nacin za ukljucivanje skripti i stilova. Koristenje Requirements::customScript() ispisuje umetnuti JavaScript. Ova metoda osigurava ucitavanje widgeta na svakoj stranici kojom upravlja vas PageController.

Alternativna metoda 2: Korištenje Requirements u predlošku

Takoder mozete koristiti sintaksu SilverStripe predlozaka za zahtijevanje JavaScript datoteka izravno u svom .ss predlosku:

  1. Otvorite datoteku predloska teme (npr. themes/vasatema/templates/Page.ss)
  2. Dodajte sljedece pri dnu predloska, prije </body>:
<% require javascript("https://asyntai.com/static/js/chat-widget.js") %> <script> document.addEventListener('DOMContentLoaded', function() { var scripts = document.querySelectorAll('script[src*="chat-widget.js"]'); scripts.forEach(function(s) { s.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID'); }); }); </script> </body>

Savjet: Sintaksa <% require %> je nacin na razini SilverStripe predloska za ukljucivanje resursa. Imajte na umu da ova metoda izvorno ne podrzava dodavanje prilagodenih atributa podataka u oznaku skripte, pa dodajemo mali inicijalizacijski isjecak za postavljanje ID-ja widgeta.

Alternativna metoda 3: Korištenje SilverStripe konfiguracije (YAML)

Za pristup temeljen na konfiguraciji mozete koristiti SilverStripe YAML konfiguraciju za dodavanje globalnih zahtjeva:

  1. Otvorite ili izradite datoteku app/_config/app.yml
  2. Dodajte konfiguraciju za ukljucivanje widgeta putem prilagodenog prosirenja ili postavljanja kontrolera:
# app/_config/app.yml --- Name: asyntai-chatbot After: '#rootroutes' --- SilverStripe\Core\Injector\Injector: AsyntaiChatbotExtension: class: App\Extensions\AsyntaiChatbotExtension
  1. Izradite datoteku prosirenja app/src/Extensions/AsyntaiChatbotExtension.php:
namespace App\Extensions; use SilverStripe\Core\Extension; use SilverStripe\View\Requirements; class AsyntaiChatbotExtension extends Extension { public function onAfterInit() { Requirements::customScript(" var script = document.createElement('script'); script.src = 'https://asyntai.com/static/js/chat-widget.js'; script.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID'); script.async = true; document.head.appendChild(script); "); } }
  1. Primijenite prosirenje na svoj PageController u app/_config/app.yml:
PageController: extensions: - App\Extensions\AsyntaiChatbotExtension
  1. Pokrenite ?flush=1 za ponovnu izgradnju konfiguracijske predmemorije

Napomena: Koristenje YAML konfiguracije i prosirenja je najmodularniji SilverStripe pristup. Drzi integraciju chatbota odvojenom od glavne logike kontrolera i olaksava omogucavanje ili onemogucavanje bez promjene koda.

Korak 3: Provjerite instalaciju

Nakon dodavanja koda i praznjenja SilverStripe predmemorije, otvorite stranicu u novoj kartici preglednika. Trebali biste vidjeti gumb widgeta za razgovor u donjem desnom kutu. Kliknite ga kako biste provjerili otvara li se i radi li ispravno.

Ne vidite widget? Provjerite jeste li ispraznili predmemoriju dodavanjem ?flush=1 na URL stranice. Provjerite jeste li zamijenili YOUR_WIDGET_ID svojim stvarnim ID-jem widgeta s nadzorne ploce. Ocistite predmemoriju preglednika ili pregledavajte u anonimnom nacinu. Otvorite konzolu preglednika (F12) da provjerite postoje li JavaScript greske. Ako koristite klasu Requirements, potvrdite da se metoda init() vaseg PageControllera ispravno poziva.