Kā pievienot Asyntai AI tērzēšanas robotu SilverStripe
Soli pa solim ceļvedis SilverStripe CMS
1. solis: Iegūstiet savu iegulto kodu
Vispirms dodieties uz savu Asyntai vadības paneli un ritiniet uz leju līdz sadaļai "Iegultais kods". Nokopējiet savu unikālo iegulto kodu, kas izskatīsies šādi:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Piezīme: Iepriekš minētais kods ir tikai piemērs. Jums jānokopē savs unikālais iegultais kods no sava Vadības paneļa, jo tas satur jūsu personīgo logrīka ID.
2. solis: Pievienošana SilverStripe veidnei (ieteicams)
Vienkāršākais veids, kā pievienot tērzēšanas robotu savai SilverStripe vietnei, ir tieši rediģēt savas tēmas galveno veidnes failu:
- Atveriet savas tēmas veidnes failu (piem., themes/yourtheme/templates/Page.ss)
- Pievienojiet iegulšanas kodu tieši pirms noslēdzošā </body> taga:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
</body>
</html>
- Saglabājiet failu un iztīriet SilverStripe kešatmiņu, pievienojot ?flush=1 savas vietnes URL
Padoms: SilverStripe izmanto .ss veidņu failus ar veidņu mantošanas sistēmu. Skripta ievietošana jūsu pamata Page.ss veidnē nodrošina, ka tērzēšanas robots parādās katrā jūsu vietnes lapā. Ja jūsu tēma izmanto Includes mapi, varat ievietot skriptu arī kopīgā iekļaušanas failā.
1. alternatīvā metode: Requirements klases izmantošana kontrollerī
SilverStripe nodrošina Requirements klasi JavaScript un CSS atkarību programmatiskai pārvaldīšanai. Šī ir ieteicamā pieeja izstrādātājiem:
- Atveriet app/src/PageController.php (vai savu lapas kontrollera failu)
- Metodē init() izmantojiet Requirements::customScript(), lai dinamiski ielādētu logrīku:
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);
}
}
- Saglabājiet failu un iztīriet kešatmiņu, apmeklējot yourdomain.com?flush=1
Piezīme: Requirements klase ir SilverStripe standarta veids, kā iekļaut skriptus un stilu lapas. Izmantojot Requirements::customScript(), tiek izvadīts iekļautais JavaScript. Šī metode nodrošina, ka logrīks tiek ielādēts katrā lapā, ko apstrādā jūsu PageController.
2. alternatīvā metode: Requirements izmantošana veidnē
Varat arī izmantot SilverStripe veidnes sintaksi, lai pieprasītu JavaScript failus tieši savā .ss veidnē:
- Atveriet savas tēmas veidnes failu (piem., themes/yourtheme/templates/Page.ss)
- Pievienojiet šo veidnes apakšā, pirms </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>
Padoms: Sintakse <% require %> ir SilverStripe veidnes līmeņa veids, kā iekļaut resursus. Ņemiet vērā, ka šī metode dabiski neatbalsta pielāgotu datu atribūtu pievienošanu skripta tagam, tāpēc mēs pievienojam nelielu inicializācijas fragmentu, lai iestatītu logrīka ID.
3. alternatīvā metode: SilverStripe konfigurācijas (YAML) izmantošana
Konfigurācijas vadītai pieejai varat izmantot SilverStripe YAML konfigurāciju, lai pievienotu globālās prasības:
- Atveriet vai izveidojiet failu app/_config/app.yml
- Pievienojiet konfigurāciju, lai iekļautu logrīku, izmantojot pielāgotu paplašinājumu vai kontrollera iestatījumu:
# app/_config/app.yml
---
Name: asyntai-chatbot
After: '#rootroutes'
---
SilverStripe\Core\Injector\Injector:
AsyntaiChatbotExtension:
class: App\Extensions\AsyntaiChatbotExtension
- Izveidojiet paplašinājuma failu 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);
");
}
}
- Piemērojiet paplašinājumu savam PageController failā app/_config/app.yml:
PageController:
extensions:
- App\Extensions\AsyntaiChatbotExtension
- Palaidiet ?flush=1, lai pārbūvētu konfigurācijas kešatmiņu
Piezīme: YAML konfigurācijas un paplašinājumu izmantošana ir modulārākā SilverStripe pieeja. Tā nodrošina jūsu tērzēšanas robota integrācijas nošķiršanu no galvenās kontrollera loģikas un atvieglo iespējošanu vai atspējošanu bez koda maiņas.
3. solis: Pārbaudiet instalēšanu
Pēc koda pievienošanas un SilverStripe kešatmiņas iztīrīšanas atveriet savu vietni jaunā pārlūkprogrammas cilnē. Apakšējā labajā stūrī vajadzētu redzēt tērzēšanas logrīka pogu. Noklikšķiniet uz tās, lai pārliecinātos, ka tā atveras un darbojas pareizi.
Neredzat logrīku? Pārliecinieties, ka esat iztīrījis kešatmiņu, pievienojot ?flush=1 savas vietnes URL. Pārbaudiet, vai esat aizstājis YOUR_WIDGET_ID ar savu faktisko logrīka ID no vadības paneļa. Notīriet pārlūkprogrammas kešatmiņu vai skatiet inkognito režīmā. Atveriet pārlūkprogrammas konsoli (F12), lai pārbaudītu JavaScript kļūdas. Ja izmantojat Requirements klasi, pārbaudiet, vai jūsu PageController metode init() tiek pareizi izsaukta.
Weebly