Modiwl Chatbot Drupal
Defnyddiwch fodiwl Drupal swyddogol ChattyBox pan fyddwch eisiau gosodiad a reolir gan Composer ar gyfer safle Drupal 10 neu Drupal 11. Mae’r modiwl 0.1.0 a archwiliwyd yn lleol yn atodi ei loader widget a gynhelir i geisiadau cymwys nad ydynt yn rhai gweinyddol ac y mae fformat cais Drupal ar eu cyfer yn HTML; mae’n defnyddio endpoint API wedi’i godio’n galed. Mae'r canllaw hwn yn ymdrin â'r gosod gweithredol. Mae tudalen modiwl chatbot AI Drupal yn cwmpasu'r cynnyrch a'r broses gwerthuso.
Cyn Gosod
Cwblhewch y llif Cychwyn Arni yn gyntaf: cysylltwch eich URL Drupal cyhoeddus, adolygwch dudalennau sydd wedi’u mynegeio a gwiriwch atebion cynrychioliadol yn Profi'r sgwrsfot. O dan Gosod → Allweddi a pharthau, adolygwch allwedd widget gyhoeddus sy’n bodoli eisoes neu crëwch un newydd; yn y naill achos neu’r llall, gwiriwch osodiadau origin yr allwedd. O dan Gosod → Gosod ar wefan, dewiswch allwedd addas a chopïwch y gwerth data-api-key o’r pyt gosod.
Gosod Composer
Mae’r gosodiad hwn yn defnyddio storfa GitHub gyhoeddus fel ffynhonnell VCS Composer. Ychwanegwch y datganiad storfa isod cyn rhedeg composer require; gwiriwch argaeledd a thagiau cyfredol y pecyn cyn gosod.
Ychwanegwch y storfa GitHub gyhoeddus at composer.json gwraidd y prosiect Drupal sy’n ei defnyddio:
{
"repositories": {
"chattybox-drupal": {
"type": "vcs",
"url": "https://github.com/OpenStaticFish/chattybox-drupal.git"
}
}
}
Os oes gan y prosiect adran repositories eisoes, unwch y cofnod chattybox-drupal â hi. Yna gosodwch y modiwl wedi'i dagio:
composer require openstaticfish/chattybox-drupal:^0.1
Mae’r pecyn wedi’i ddatgan fel drupal-module ac mae angen Drupal ^10 || ^11 arno. Isafswm fersiwn PHP y modiwl yw 8.1, ond efallai y bydd angen PHP mwy newydd ar eich fersiwn Drupal. Mae llwybrau gosod Composer Drupal safonol yn aml yn ei roi o dan web/modules/contrib/, ond gall mapio’r prosiect amrywio. Cyfyngiad fersiwn yw ^0.1, nid pin union: mae Composer yn datrys ac yn cloi fersiwn. Defnyddiwch fersiwn union pan fydd angen gosodiad atgynhyrchadwy.
Adolygwch god ffynhonnell modiwl Drupal cyhoeddus a newidiadau wedi’u tagio cyn uwchraddio; cadarnhewch y mecanwaith diweddaru sy’n berthnasol i’ch gosodiad.
I brofi’r gangen ddatblygu gyfredol yn lle hynny:
composer require openstaticfish/chattybox-drupal:dev-main
Galluogi a Ffurfweddu
- Galluogwch ChattyBox o Extend, neu rhedwch
drush en chattybox. - Agorwch Configuration > Web services > ChattyBox.
- Gludwch allwedd API gyhoeddus y widget yn unig o’r pyt gosod ar gyfer y wefan.
- Gadewch URL sgript y widget a gynhelir, oni bai bod ChattyBox wedi darparu URL loader rhagolwg neu hunangynhaliol.
- Gadewch y diystyru iaith yn wag i ddilyn polisi locale y prosiect, neu rhowch god bach llythrennau a gefnogir fel
en,frneude. Dim ond os yw’r prosiect yn caniatáu diystyru gan sgript y bydd diystyriad a gefnogir yn cael blaenoriaeth. Yn widget a gynhelir v16 y cod ffynhonnell cyfredol, mae’r modd awtomatig yn rhoi cynnig ar iaith y dudalen, ieithoedd y porwr, ac yna’r diofyn a ffurfweddwyd; caiff gwerthoedd heb eu cefnogi eu hepgor, ac os nad oes un yn cael ei gefnogi defnyddir Saesneg. Mae’r modd sefydlog yn defnyddio diofyn y prosiect os caiff ei gefnogi, neu Saesneg fel arall. Gwiriwch ba loader sydd wedi’i ddefnyddio cyn dibynnu ar yr ymddygiad hwn, gan ei fod yn cael ei fersiwnio ar wahân. - Galluogwch y chatbot ac arbedwch y ffurfweddiad.
Ar lwybrau gweinyddol ac ar geisiadau nad yw fformat cais Drupal ar eu cyfer yn HTML, nid yw’r modiwl a archwiliwyd yn atodi loader y widget. Nid yw’n archwilio pennawd Content-Type yr ymateb terfynol nac yn penderfynu a yw cynnwys frontend yn breifat. Ar geisiadau cymwys, mae’n atodi’r allwedd gyhoeddus, yr endpoint API wedi’i godio’n galed, locale dewisol a loader y widget drwy lyfrgell ddatganedig Drupal a drupalSettings.
Mae gosodiadau newydd yn anabl, gyda’r allwedd a’r diystyriad locale yn wag. Mae’r ffurflen osodiadau yn /admin/config/services/chattybox ac mae angen y caniatâd administer chattybox configuration. Mae’r modiwl yn llwytho’r widget; nid yw’n cropian nac yn cydamseru cynnwys Drupal.
Mae endpoint API wedi’i godio’n galed yn fersiwn y modiwl a archwiliwyd; nid yw’n cael ei ganfod o’r allwedd na’i ddiweddaru’n awtomatig. Nid yw newid URL y loader yn newid yr endpoint. Cymharwch ef â phyt gosod y wefan. Os yw’r pyt yn defnyddio deployment API arall, defnyddiwch ei integreiddiad widget â llaw heb y modiwl. Rhaid i URL sgript o bell ddefnyddio HTTPS (caniateir HTTP ar gyfer gwesteiwyr datblygu lleol yn unig).
Mae allweddi heb gyfyngiadau yn gweithio o bob origin porwr; mae’n bosibl bod allwedd a baratowyd ar gyfer gwefan eisoes wedi’i chyfyngu i origin y wefan honno. Mae cyfyngiadau dewisol o dan Gosod → Allweddi a pharthau yn gofyn am brotocol, enw gwesteiwr a phorth union ar gyfer pob origin a fwriedir. Mae allwedd gyfyngedig yn dychwelyd 401 Invalid API key os yw’r origin effeithiol ar goll neu heb ei ganiatáu. Daw’r origin o Origin, neu o origin Referer os nad oes Origin. Caledu ychwanegol yw cyfyngiadau origin, nid dilysu ymwelwyr.
Eithrio Llwybrau Ychwanegol
Mae’r modiwl yn hepgor llwybrau gweinyddol yn awtomatig. Nid yw hyn yn wiriad preifatrwydd ar bob cynnwys frontend: ychwanegwch eithriadau ar gyfer llwybrau talu, cyfrif ac aelodaeth lle bo’n briodol. Gall modiwl pwrpasol analluogi’r widget ar lwybrau cyhoeddus ychwanegol gyda hook_chattybox_load_widget_alter():
Enghraifft yn unig yw enw’r llwybr isod. Nid yw’r modiwl yn ychwanegu cache contexts na cache tags ar gyfer penderfyniad yr hook. Gweithredwch a phrofwch amrywio ac annilysu’r cache yn benodol i’r safle ar gyfer pob amod, pan fydd y widget yn cael ei atodi a phan na chaiff ei atodi, ar draws caches Drupal a caches cyfryngol. Nid yw eithrio llwybr yn ffin rheoli mynediad.
/**
* Implements hook_chattybox_load_widget_alter().
*/
function mymodule_chattybox_load_widget_alter(&$should_load, $config, $route_match) {
if ('commerce_checkout.form' === $route_match->getRouteName()) {
$should_load = FALSE;
}
}
Wrth Gefn â Llaw
Composer yw’r llwybr gosod a argymhellir. Os na all eich deployment Drupal ddefnyddio Composer, copïwch y modiwl i web/modules/custom/chattybox neu gyfeiriadur modiwl pwrpasol arall, ei alluogi a’i ffurfweddu o Configuration > Web services > ChattyBox.
Peidiwch â gludo manylyn rheoli ChattyBox i’r modiwl. Bwriedir allwedd API gyhoeddus y widget ar gyfer marcio frontend.
Defnyddiwch un loader yn unig: peidiwch â galluogi’r modiwl ochr yn ochr â phyt thema, tag GTM na gosodiad SDK. Mae’r modiwl a archwiliwyd yn hepgor mewnosod loader os yw’n dod o hyd i unrhyw script[data-chattybox-widget="true"] wedi’i farcio; nid yw’n dilysu nac yn ailffurfweddu’r sgript honno, ac nid yw’n canfod sgriptiau heb eu marcio.
Nid yw loader awtomatig y modiwl yn gwirio caniatâd cyn cychwyn y widget. Os oes angen caniatâd cyn anfon ceisiadau, defnyddiwch integreiddiad sy’n ystyried caniatâd yn lle’r loader awtomatig hwn. Ar ôl newid llwybr SPA neu dynnu caniatâd yn ôl, ataliwch lwytho ar lwybrau sydd wedi’u heithrio ac ewch ati i ddadosod widget sydd eisoes wedi’i gychwyn drwy integreiddiad a gefnogir gan y loader a ddefnyddir. Nid yw cuddio’r widget na thynnu’r tag sgript yn unig yn ddigon. Ailgychwynnwch dim ond pan ganiateir hynny. Ni all dadosod ddadwneud ceisiadau y mae’r gweinydd eisoes wedi’u prosesu.
Dilysu
Ar ôl ffurfweddu’r modiwl:
- Agorwch dudalen Drupal gyhoeddus mewn ffenestr incognito.
- Cadarnhewch fod lansiwr y widget yn ymddangos unwaith.
- Gofynnwch gwestiwn go iawn gan ymwelydd.
- Gwiriwch fod ateb a gefnogir yn dyfynnu tudalennau Drupal cyhoeddus wedi’u mynegeio, a bod cwestiwn heb gefnogaeth yn dangos y fallback, a all fod heb ffynonellau.
- Gwiriwch gonsol y porwr am
data-api-key,data-api-urlcoll neu wallau allwedd. - Profwch lwybrau sydd wedi’u heithrio a’u cynnwys pan fydd caches Drupal/tudalen/CDN yn oer ac wedi’u cynhesu. Ailadeiladwch y caches perthnasol ar ôl newid gosodiadau neu hooks. Nid yw eithriad llwybr ar yr ochr gweinydd yn dadosod widget sydd eisoes wedi’i lwytho wrth lywio ar ochr y cleient.
Ewch ymlaen â’r rhestr wirio lansio cyn cyhoeddi’r chatbot.