חזרה ללוח הבקרה

תיעוד

למדו כיצד להשתמש ב-Asyntai

כיצד להוסיף צ'אטבוט AI של Asyntai ל-ProcessWire

מדריך צעד אחר צעד לאתרי ProcessWire CMS

קבלת קוד הטמעה

שלב 1: קבל את קוד ההטמעה שלך

ראשית, עבור ללוח הבקרה של Asyntai וגלול למטה לחלק "קוד הטמעה". העתק את קוד ההטמעה הייחודי שלך שייראה כך:

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

הערה: הקוד למעלה הוא רק דוגמה. עליך להעתיק את קוד ההטמעה הייחודי שלך מלוח הבקרה שלך כיוון שהוא מכיל את מזהה הווידג'ט האישי שלך.

שלב 2: הוספה לקובץ תבנית (מומלץ)

ProcessWire משתמש בקבצי תבנית PHP הממוקמים בספריית site/templates/. הגישה הקלה ביותר היא להוסיף את קוד ההטמעה ישירות לקובץ התבנית הראשי שלכם:

  1. גשו לקבצי ההתקנה של ProcessWire דרך FTP, SSH או מנהל הקבצים שלכם
  2. נווטו אל site/templates/
  3. פתחו את קובץ התבנית הראשי — זהו לרוב _main.php או basic-page.php בהתאם לפרופיל האתר שלכם
  4. אם אתם משתמשים באסטרטגיית הפלט המושהה (ברירת המחדל עבור רוב פרופילי האתר), פתחו את _main.php
  5. מצא את תג הסגירה </body>
  6. הדביקו את קוד ההטמעה של Asyntai ממש לפניו:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
</body>

טיפ: מיקום הסקריפט ממש לפני תגית הסגירה </body> מבטיח שהצ'אטבוט נטען לאחר תוכן הדף, מה שמומלץ לביצועים מיטביים ולא יאט את רינדור הדף.

שיטה חלופית 1: שימוש בקובץ _foot.inc או _main.php Append

אם אתר ה-ProcessWire שלכם משתמש בגישת קובץ ה-append (נפוצה בפרופילי אתר רבים), ניתן להוסיף את קוד ההטמעה ל-include הפוטר המשותף:

  1. נווטו אל site/templates/
  2. פתחו את _foot.inc (או קובץ ה-include המקביל שלכם לפוטר)
  3. הדביקו את קוד ההטמעה של Asyntai ממש לפני תגית הסגירה </body>
  4. שמור את הקובץ

אסטרטגיית הפלט המושהה של ProcessWire עובדת בדרך כלל עם שלושה קבצים מרכזיים:

  • _init.php — רץ לפני כל תבנית, מאתחל משתנים
  • קובץ התבנית שלכם (למשל, basic-page.php) — מאכלס משתני תוכן
  • _main.php — מפיק את סימון ה-HTML הסופי באמצעות משתנים אלה

אם האתר שלכם משתמש בגישה זו, הוספת הסקריפט ל-_main.php לפני </body> מבטיחה שהוא מופיע בכל דף.

הערה: שמות הקבצים _init.php ו-_main.php מוגדרים ב-site/config.php שלכם דרך ההגדרות $config->prependTemplateFile ו-$config->appendTemplateFile. בדקו את ההגדרות אם הקבצים שלכם נקראים אחרת.

שיטה חלופית 2: שימוש במערך $config->scripts

ProcessWire מספק $config->scripts FilenameArray שניתן להשתמש בו לניהול קבצי JavaScript. ב-_init.php או בקובץ תבנית בודד, הוסיפו:

<?php
$config->scripts->add('https://asyntai.com/static/js/chat-widget.js');
?>

לאחר מכן ב-_main.php (או ב-include הפוטר), עברו בלולאה על מערך הסקריפטים כדי להפיק אותם:

<?php foreach($config->scripts as $file): ?>
<script src="<?php echo $file; ?>"></script>
<?php endforeach; ?>

חשוב: הגישה של $config->scripts מטפלת במאפיין src של הסקריפט, אבל מאפיין data-asyntai-id צריך להיות מטופל בנפרד. תצטרכו להוסיף את מאפיין ה-data ידנית בפלט הלולאה, או להשתמש בשיטת תגית הסקריפט הישירה משלב 2 להגדרה הפשוטה ביותר.

שיטה חלופית 3: שימוש ב-Hook (ready.php)

לגישה מתקדמת יותר, ניתן להשתמש במערכת ה-hook של ProcessWire כדי להזריק אוטומטית את סקריפט הצ'אטבוט לכל דף. הוסיפו את הבא לקובץ site/ready.php שלכם:

<?php
$wire->addHookAfter('Page::render', function(HookEvent $event) {
    $html = $event->return;
    $script = '<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>';
    $html = str_replace('</body>', $script . '</body>', $html);
    $event->return = $html;
});
?>

hook זה מיירט את פלט ה-HTML המרונדר של כל דף ומזריק את סקריפט Asyntai ממש לפני תגית הסגירה </body> באופן אוטומטי.

טיפ: גישת ה-hook של ready.php אידיאלית אם אתם רוצים את הצ'אטבוט בכל דף מבלי לשנות קבצי תבנית. היא גם שורדת שינויי תבנית ועדכוני תבנית מכיוון שהיא חיה מחוץ לקבצי התבנית.

שלב 3: אמת את ההתקנה

לאחר שמירת השינויים, בקרו באתר ה-ProcessWire שלכם בלשונית דפדפן חדשה או בחלון גלישה פרטית. אתם אמורים לראות את כפתור הצ'אט בפינה הימנית התחתונה. לחצו עליו כדי לוודא שהוא נפתח ופועל כראוי.

לא רואה את הווידג'ט? ודאו ששמרתם את כל הקבצים המשופרים. נסו לנקות את מטמון הדפדפן או לצפות בחלון גלישה פרטית. אם מטמון התבנית של ProcessWire מופעל, ייתכן שתצטרכו לנקות אותו על ידי מעבר ל-Modules → Core → Template Engine Cache או על ידי הוספת ?nocache=1 לכתובת ה-URL. ודאו גם שקובץ התבנית שלכם אכן נמצא בשימוש על ידי הדפים שאתם צופים בהם.