Vissza az irányítópultra

Dokumentáció

Ismerd meg az Asyntai használatát

Az Asyntai AI Chatbot hozzáadása a SilverStripe-hoz

Lépésről lépésre útmutató a SilverStripe CMS-hez

Beágyazási kód lekérése

1. lépés: Szerezze be a beágyazási kódját

Először lépjen az Asyntai Irányítópultra és görgessen le a „Beágyazási kód" szekcióhoz. Másolja le az egyedi beágyazási kódját, amely így fog kinézni:

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

Megjegyzés: A fenti kód csak egy példa. Le kell másolnia saját egyedi beágyazási kódját az Irányítópultról, mivel az tartalmazza személyes widget-azonosítóját.

2. lépés: Hozzáadás a SilverStripe sablonhoz (ajánlott)

A chatbot SilverStripe webhelyhez való hozzáadásának legegyszerűbb módja a témája fő sablonfájljának közvetlen szerkesztése:

  1. Nyissa meg a témájának sablonfájlját (pl. themes/yourtheme/templates/Page.ss)
  2. Adja hozzá a beágyazó kódot közvetlenül a záró </body> tag elé:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> </body> </html>
  1. Mentse el a fájlt, és ürítse a SilverStripe gyorsítótárát a ?flush=1 hozzáfűzésével az oldal URL-jéhez

Tipp: A SilverStripe .ss sablonfájlokat használ sablon öröklési rendszerrel. A szkript alap Page.ss sablonba való elhelyezése biztosítja, hogy a chatbot a webhely minden oldalán megjelenjen. Ha a témája Includes mappát használ, a szkriptet egy megosztott include fájlba is elhelyezheti.

Alternatív módszer 1: Requirements osztály használata a vezérlőben

A SilverStripe biztosít egy Requirements osztályt a JavaScript és CSS függőségek programozott kezeléséhez. Ez a fejlesztők számára ajánlott megközelítés:

  1. Nyissa meg az app/src/PageController.php fájlt (vagy a lapvezérlő fájlját)
  2. Az init() metódusban a Requirements::customScript() metódussal töltse be dinamikusan a widgetet:
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. Mentse el a fájlt, és ürítse a gyorsítótárat a yourdomain.com?flush=1 oldal megtekintésével

Megjegyzés: A Requirements osztály a SilverStripe-szabványos módja a szkriptek és stíluslapok hozzáadásának. A Requirements::customScript() használata inline JavaScriptet ad ki. Ez a módszer biztosítja, hogy a widget betöltődjön a PageController által kezelt összes oldalon.

Alternatív módszer 2: Requirements használata sablonban

A SilverStripe sablon szintaxisával közvetlenül a .ss sablonban is megkövetelheti a JavaScript fájlokat:

  1. Nyissa meg a témájának sablonfájlját (pl. themes/yourtheme/templates/Page.ss)
  2. Adja hozzá a következőt a sablon aljához, a </body> elé:
<% 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>

Tipp: A <% require %> szintaxis a SilverStripe sablon szintű módja az elemek hozzáadásának. Megjegyzendő, hogy ez a módszer alapértelmezés szerint nem támogatja egyéni adatattribútumok hozzáadását a script taghoz, ezért egy kis inicializáló kódot adunk hozzá a widget azonosítójának beállításához.

Alternatív módszer 3: SilverStripe konfiguráció használata (YAML)

Konfigurációvezérelt megközelítéshez a SilverStripe YAML konfigurációját használhatja globális követelmények hozzáadásához:

  1. Nyissa meg vagy hozza létre az app/_config/app.yml fájlt
  2. Adjon hozzá konfigurációt a widget hozzáadásához egyéni kiterjesztésen vagy vezérlő beállításon keresztül:
# app/_config/app.yml --- Name: asyntai-chatbot After: '#rootroutes' --- SilverStripe\Core\Injector\Injector: AsyntaiChatbotExtension: class: App\Extensions\AsyntaiChatbotExtension
  1. Hozza létre a kiterjesztési fájlt: 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. Alkalmazza a kiterjesztést a PageController-re az app/_config/app.yml fájlban:
PageController: extensions: - App\Extensions\AsyntaiChatbotExtension
  1. Futtassa a ?flush=1 parancsot a konfigurációs gyorsítótár újraépítéséhez

Megjegyzés: A YAML konfiguráció és kiterjesztések használata a legmodulálisabb SilverStripe megközelítés. A chatbot integrációt elkülöníti a fő vezérlőlogikától, és kód módosítása nélkül könnyen engedélyezhető vagy letiltható.

3. lépés: Telepítés ellenőrzése

A kód hozzáadása és a SilverStripe gyorsítótár ürítése után nyissa meg weboldalát egy új böngészőlapon. A jobb alsó sarokban meg kell jelennie a chat widget gombnak. Kattintson rá, hogy megbizonyosodjon arról, hogy megnyílik és megfelelően működik.

Nem látja a widgetet? Győződjön meg róla, hogy ürítette a gyorsítótárat a ?flush=1 hozzáfűzésével az oldal URL-jéhez. Ellenőrizze, hogy a YOUR_WIDGET_ID értéket lecserélte az irányítópultról származó tényleges widget-azonosítójára. Törölje a böngészőgyorsítótárat, vagy tekintse meg inkognító módban. Nyissa meg a böngésző konzolját (F12), és ellenőrizze a JavaScript hibákat. Ha a Requirements osztályt használja, ellenőrizze, hogy a PageController init() metódusa megfelelően meghívásra kerül-e.