Înapoi la tabloul de bord

Documentație

Aflați cum să utilizați Asyntai

Cum să adăugați Chatbot-ul AI Asyntai în SilverStripe

Ghid pas cu pas pentru CMS SilverStripe

Obține codul de încorporare

Pasul 1: Obțineți codul de încorporare

Mai întâi, accesați Tabloul de bord Asyntai și derulați în jos până la secțiunea "Cod de încorporare". Copiați codul unic de încorporare care va arăta astfel:

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

Notă: Codul de mai sus este doar un exemplu. Trebuie să copiați propriul cod unic de încorporare din Tabloul de bord, deoarece conține ID-ul personal al widgetului dvs.

Pasul 2: Adăugați în șablonul SilverStripe (Recomandat)

Cel mai simplu mod de a adăuga chatbot-ul pe site-ul SilverStripe este prin editarea directă a fișierului principal de șablon al temei:

  1. Deschideți fișierul de șablon al temei (de ex., themes/yourtheme/templates/Page.ss)
  2. Adăugați codul de integrare chiar înainte de eticheta de închidere </body>:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> </body> </html>
  1. Salvați fișierul și goliți cache-ul SilverStripe adăugând ?flush=1 la URL-ul site-ului

Sfat: SilverStripe folosește fișiere de șablon .ss cu un sistem de moștenire a șabloanelor. Plasarea scriptului în șablonul de bază Page.ss asigură că chatbot-ul apare pe fiecare pagină. Dacă tema folosește un folder Includes, puteți plasa scriptul într-un fișier include partajat.

Metoda alternativă 1: Utilizarea clasei Requirements în Controller

SilverStripe oferă o clasă Requirements pentru gestionarea programatică a dependențelor JavaScript și CSS. Aceasta este abordarea recomandată pentru dezvoltatori:

  1. Deschideți app/src/PageController.php (sau fișierul controlerului de pagină)
  2. În metoda init(), utilizați Requirements::customScript() pentru a încărca dinamic widget-ul:
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. Salvați fișierul și goliți cache-ul vizitând yourdomain.com?flush=1

Notă: Clasa Requirements este modalitatea standard SilverStripe de a include scripturi și foi de stil. Utilizarea Requirements::customScript() produce JavaScript inline. Această metodă asigură că widget-ul este încărcat pe fiecare pagină gestionată de PageController.

Metoda alternativă 2: Utilizarea Requirements în șablon

De asemenea, puteți utiliza sintaxa de șablon SilverStripe pentru a solicita fișiere JavaScript direct în șablonul .ss:

  1. Deschideți fișierul de șablon al temei (de ex., themes/yourtheme/templates/Page.ss)
  2. Adăugați următoarele aproape de partea de jos a șablonului, înainte de </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>

Sfat: Sintaxa <% require %> este modalitatea la nivel de șablon SilverStripe de a include resurse. Rețineți că această metodă nu suportă nativ adăugarea atributelor data personalizate la eticheta script, așa că adăugăm un mic fragment de inițializare pentru a seta ID-ul widget-ului.

Metoda alternativă 3: Utilizarea configurației SilverStripe (YAML)

Pentru o abordare bazată pe configurație, puteți utiliza configurația YAML a SilverStripe pentru a adăuga cerințe globale:

  1. Deschideți sau creați fișierul app/_config/app.yml
  2. Adăugați configurația pentru a include widget-ul printr-o extensie personalizată sau configurarea controlerului:
# app/_config/app.yml --- Name: asyntai-chatbot After: '#rootroutes' --- SilverStripe\Core\Injector\Injector: AsyntaiChatbotExtension: class: App\Extensions\AsyntaiChatbotExtension
  1. Creați fișierul extensiei 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. Aplicați extensia la PageController în app/_config/app.yml:
PageController: extensions: - App\Extensions\AsyntaiChatbotExtension
  1. Rulați ?flush=1 pentru a reconstrui cache-ul de configurare

Notă: Utilizarea configurației YAML și a extensiilor este cea mai modulară abordare SilverStripe. Menține integrarea chatbot-ului separată de logica principală a controlerului și facilitează activarea sau dezactivarea fără a modifica codul.

Pasul 3: Verificați instalarea

După adăugarea codului și golirea cache-ului SilverStripe, deschideți site-ul într-o filă nouă de browser. Ar trebui să vedeți butonul widget-ului de chat în colțul din dreapta jos. Faceți clic pe el pentru a vă asigura că se deschide și funcționează corect.

Nu vedeți widgetul? Asigurați-vă că ați golit cache-ul adăugând ?flush=1 la URL-ul site-ului. Verificați că ați înlocuit YOUR_WIDGET_ID cu ID-ul real al widget-ului din tabloul de bord. Goliți cache-ul browserului sau vizualizați în modul incognito. Deschideți consola browserului (F12) pentru a verifica eventualele erori JavaScript. Dacă utilizați clasa Requirements, verificați că metoda init() a PageController-ului este apelată corect.