Cara Menambah Chatbot AI Asyntai ke ProcessWire

Panduan langkah demi langkah untuk laman web ProcessWire CMS

Dapatkan Kod Benam

Langkah 1: Dapatkan Kod Benam Anda

Pertama, pergi ke Papan Pemuka Asyntai anda dan tatal ke bawah ke bahagian "Kod Benam". Salin kod benam unik anda yang akan kelihatan seperti ini:

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

Nota: Kod di atas hanyalah contoh. Anda mesti menyalin kod benam unik anda sendiri dari Papan Pemuka anda kerana ia mengandungi ID widget peribadi anda.

Langkah 2: Tambah ke Fail Templat (Disyorkan)

ProcessWire menggunakan fail templat PHP yang terletak dalam direktori site/templates/. Pendekatan paling mudah adalah menambah kod benam terus ke fail templat utama anda:

  1. Akses fail pemasangan ProcessWire anda melalui FTP, SSH, atau pengurus fail anda
  2. Navigasi ke site/templates/
  3. Buka fail templat utama anda — ini biasanya _main.php atau basic-page.php bergantung pada profil laman anda
  4. Jika anda menggunakan strategi output tertunda (lalai untuk kebanyakan profil laman), buka _main.php
  5. Cari tag penutup </body>
  6. Tampal kod benam Asyntai anda sejurus sebelumnya:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
</body>

Petua: Meletakkan skrip sejurus sebelum tag penutup </body> memastikan chatbot dimuatkan selepas kandungan halaman, yang disyorkan untuk prestasi optimum dan tidak akan melambatkan pemaparan halaman anda.

Kaedah Alternatif 1: Menggunakan _foot.inc atau Fail Tambahan _main.php

Jika laman ProcessWire anda menggunakan pendekatan fail tambahan (biasa dalam banyak profil laman), anda boleh menambah kod benam ke sertaan footer yang dikongsi:

  1. Navigasi ke site/templates/
  2. Buka _foot.inc (atau fail sertaan footer yang setara)
  3. Tampal kod benam Asyntai anda sejurus sebelum tag penutup </body>
  4. Simpan fail

Strategi output tertunda ProcessWire biasanya berfungsi dengan tiga fail utama:

  • _init.php — dijalankan sebelum setiap templat, memulakan pembolehubah
  • Fail templat anda (contohnya, basic-page.php) — mengisi pembolehubah kandungan
  • _main.php — mengeluarkan markup HTML akhir menggunakan pembolehubah tersebut

Jika laman anda menggunakan pendekatan ini, menambah skrip ke _main.php sebelum </body> memastikan ia muncul pada setiap halaman.

Nota: Nama fail _init.php dan _main.php dikonfigurasikan dalam site/config.php anda melalui tetapan $config->prependTemplateFile dan $config->appendTemplateFile. Semak konfigurasi anda jika fail anda dinamakan secara berbeza.

Kaedah Alternatif 2: Menggunakan Tatasusunan $config->scripts

ProcessWire menyediakan FilenameArray $config->scripts yang boleh anda gunakan untuk menguruskan fail JavaScript. Dalam _init.php atau fail templat individu anda, tambah:

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

Kemudian dalam _main.php (atau sertaan footer) anda, gelung melalui tatasusunan skrip untuk mengeluarkannya:

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

Penting: Pendekatan $config->scripts mengendalikan atribut src skrip, tetapi atribut data-asyntai-id perlu dikendalikan secara berasingan. Anda perlu sama ada menambah atribut data secara manual dalam output gelung, atau menggunakan kaedah tag skrip langsung dari Langkah 2 untuk persediaan paling mudah.

Kaedah Alternatif 3: Menggunakan Hook (ready.php)

Untuk pendekatan lebih lanjutan, anda boleh menggunakan sistem hook ProcessWire untuk menyuntik skrip chatbot secara automatik ke dalam setiap halaman. Tambah kod berikut ke fail site/ready.php anda:

<?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 ini memintas output HTML yang dipaparkan bagi setiap halaman dan menyuntik skrip Asyntai sejurus sebelum tag penutup </body> secara automatik.

Petua: Pendekatan hook ready.php adalah ideal jika anda mahu chatbot pada setiap halaman tanpa mengubah suai mana-mana fail templat. Ia juga kekal selepas perubahan templat dan kemas kini tema kerana ia berada di luar fail templat.

Langkah 3: Sahkan Pemasangan

Selepas menyimpan perubahan anda, lawati laman ProcessWire anda dalam tab pelayar baharu atau tetingkap inkognito. Anda sepatutnya melihat butang widget sembang di sudut kanan bawah. Klik padanya untuk memastikan ia dibuka dan berfungsi dengan betul.

Tidak nampak widget? Pastikan anda telah menyimpan semua fail yang diubah suai. Cuba kosongkan cache pelayar anda atau lihat dalam tetingkap inkognito. Jika cache templat ProcessWire diaktifkan, anda mungkin perlu mengosongkannya dengan pergi ke Modules → Core → Template Engine Cache atau dengan menambah ?nocache=1 pada URL anda. Juga sahkan bahawa fail templat anda sebenarnya digunakan oleh halaman yang anda lihat.