Πώς να προσθέσετε το AI Chatbot Asyntai στο Sylius
Οδηγός βήμα-βήμα για την πλατφόρμα ηλεκτρονικού εμπορίου Sylius
Βήμα 1: Αποκτήστε τον Κωδικό Ενσωμάτωσής σας
Πρώτα, μεταβείτε στον Πίνακα Ελέγχου Asyntai και κάντε κύλιση προς τα κάτω στην ενότητα «Κωδικός Ενσωμάτωσης». Αντιγράψτε τον μοναδικό κωδικό ενσωμάτωσής σας που θα μοιάζει ως εξής:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Σημείωση: Ο παραπάνω κώδικας είναι απλώς ένα παράδειγμα. Πρέπει να αντιγράψετε τον δικό σας μοναδικό κωδικό ενσωμάτωσης από τον Πίνακα Ελέγχου σας, καθώς περιέχει το προσωπικό σας αναγνωριστικό widget.
Βήμα 2: Προσθήκη στο πρότυπο διάταξης Twig (Συνιστάται)
Το Sylius είναι χτισμένο πάνω σε Symfony και χρησιμοποιεί τη μηχανή templating Twig. Η συνιστώμενη προσέγγιση είναι να παρακάμψετε το πρότυπο διάταξης καταστήματος για να συμπεριλάβετε το chatbot σε όλες τις σελίδες του καταστήματος.
- Στο έργο Sylius σας, μεταβείτε στον κατάλογο
templates/bundles/SyliusShopBundle/(δημιουργήστε τον αν δεν υπάρχει) - Δημιουργήστε ή επεξεργαστείτε το αρχείο layout.html.twig για παράκαμψη της προεπιλεγμένης διάταξης καταστήματος
- Αν το αρχείο υπάρχει ήδη, βρείτε το
{% block javascripts %}block - Προσθέστε τον κώδικα ενσωμάτωσης Asyntai επεκτείνοντας το javascripts block:
{% block javascripts %} {{ parent() }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {% endblock %} - Αντικαταστήστε το
YOUR_WIDGET_IDμε το πραγματικό widget ID από τον πίνακα ελέγχου - Αποθηκεύστε το αρχείο
Συμβουλή: By using {{ parent() }} inside the block, you preserve all existing JavaScript includes from the parent template while appending the chatbot script at the end, ensuring it loads after the page content.
Εναλλακτική Μέθοδος 1: Χρήση συμβάντων προτύπου Sylius
Το Sylius παρέχει ένα ισχυρό σύστημα συμβάντων προτύπου που σας επιτρέπει να εισάγετε περιεχόμενο σε συγκεκριμένα τμήματα της διάταξης χωρίς παράκαμψη ολόκληρων προτύπων. Μπορείτε να το χρησιμοποιήσετε για να προσθέσετε το chat widget στην περιοχή υποσέλιδου.
- Δημιουργήστε ένα νέο αρχείο προτύπου στο
templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twigμε το παρακάτω περιεχόμενο:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Καταχωρήστε το συμβάν προτύπου στο αρχείο ρύθμισης
config/packages/sylius_ui.yaml:sylius_ui:
events:
sylius.shop.layout.after_body:
blocks:
asyntai_chatbot:
template: "@SyliusShop/Event/asyntai_widget.html.twig"
priority: 0 - Αντικαταστήστε το
YOUR_WIDGET_IDμε το πραγματικό widget ID σας - Εκκαθαρίστε την cache του Symfony (βλέπε Βήμα 3 παρακάτω)
Σημείωση: Η προσέγγιση συμβάντων προτύπου είναι η λιγότερο παρεμβατική μέθοδος. Δεν απαιτεί παράκαμψη οποιουδήποτε υπάρχοντος προτύπου και ενσωματώνεται καθαρά με την αρχιτεκτονική του Sylius. Η τιμή priority ελέγχει τη σειρά απόδοσης αν πολλαπλά blocks καταχωρηθούν για το ίδιο συμβάν.
Εναλλακτική Μέθοδος 2: Χρήση Webpack Encore
Αν το έργο Sylius σας χρησιμοποιεί Webpack Encore για διαχείριση assets, μπορείτε να ενσωματώσετε το script του chatbot μέσω της αλυσίδας κατασκευής JavaScript.
- Δημιουργήστε ένα νέο αρχείο JavaScript στο
assets/shop/js/asyntai-chatbot.jsμε το παρακάτω περιεχόμενο:(function() {
var script = document.createElement('script');
script.async = true;
script.src = 'https://asyntai.com/static/js/chat-widget.js';
script.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID');
document.body.appendChild(script);
})(); - Εισαγάγετε αυτό το αρχείο στο σημείο εισόδου του καταστήματός σας (π.χ.
assets/shop/entry.jsήassets/shop/js/app.js):import './js/asyntai-chatbot'; - Ανακατασκευάστε τα assets σας εκτελώντας:
yarn encore devΉ για παραγωγή:
yarn encore production - Αντικαταστήστε το
YOUR_WIDGET_IDμε το πραγματικό widget ID σας
Συμβουλή: Η χρήση Webpack Encore διασφαλίζει ότι το script του chatbot συνδυάζεται με τα άλλα assets σας και επωφελείται από τη cache και τη βελτιστοποίηση που παρέχει το εργαλείο κατασκευής.
Εναλλακτική Μέθοδος 3: Χρήση Sonata Block Bundle
Αν η εγκατάσταση Sylius σας χρησιμοποιεί το Sonata Block Bundle (συμπεριλαμβάνεται εξ ορισμού σε ορισμένες ρυθμίσεις Sylius), μπορείτε να δημιουργήσετε μια προσαρμοσμένη υπηρεσία block για απόδοση του chat widget.
- Δημιουργήστε μια νέα κλάση υπηρεσίας block στο έργο σας, για παράδειγμα
src/Block/AsyntaiChatbotBlockService.php:<?php
namespace App\Block;
use Sonata\BlockBundle\Block\BlockContextInterface;
use Sonata\BlockBundle\Block\Service\AbstractBlockService;
use Symfony\Component\HttpFoundation\Response;
class AsyntaiChatbotBlockService extends AbstractBlockService
{
public function execute(BlockContextInterface $blockContext, Response $response = null): Response
{
return $this->renderResponse('block/asyntai_chatbot.html.twig', [
'block' => $blockContext->getBlock(),
], $response);
}
} - Δημιουργήστε το πρότυπο block στο
templates/block/asyntai_chatbot.html.twig:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Καταχωρήστε την υπηρεσία block στο
config/services.yamlσας:services:
app.block.asyntai_chatbot:
class: App\Block\AsyntaiChatbotBlockService
arguments:
- '@twig'
tags:
- { name: sonata.block, context: footer } - Τοποθετήστε το block στο πλαίσιο υποσέλιδου μέσω του διαχειριστή Sonata ή προσθέτοντάς το στη ρύθμιση διάταξής σας
- Αντικαταστήστε το
YOUR_WIDGET_IDμε το πραγματικό widget ID σας
Σημαντικό: Η προσέγγιση Sonata Block απαιτεί περισσότερη ρύθμιση αλλά παρέχει ευελιξία για διαχείριση του block chatbot μέσω της διεπαφής διαχειριστή. Βεβαιωθείτε ότι το Sonata Block Bundle είναι εγκατεστημένο και ρυθμισμένο στο έργο Sylius σας πριν χρησιμοποιήσετε αυτή τη μέθοδο.
Βήμα 3: Εκκαθάριση Προσωρινής Μνήμης και Επαλήθευση
Αφού κάνετε τις αλλαγές σας, πρέπει να εκκαθαρίσετε την cache του Symfony και να επαληθεύσετε την εγκατάσταση:
- Εκκαθαρίστε την cache του Symfony εκτελώντας την παρακάτω εντολή από τη ρίζα του έργου σας:
bin/console cache:clear - Αν βρίσκεστε σε περιβάλλον παραγωγής, θερμάνετε επίσης την cache:
bin/console cache:clear --env=prod
bin/console cache:warmup --env=prod - Επισκεφθείτε τη βιτρίνα του Sylius σας σε μια νέα καρτέλα προγράμματος περιήγησης ή σε παράθυρο ανώνυμης περιήγησης
- Θα πρέπει να δείτε το κουμπί chat widget στην κάτω δεξιά γωνία
- Κάντε κλικ σε αυτό για να βεβαιωθείτε ότι ανοίγει και λειτουργεί σωστά
Δεν βλέπετε το widget; Βεβαιωθείτε ότι εκκαθαρίσατε την cache του Symfony με bin/console cache:clear. Επαληθεύστε ότι η παράκαμψη προτύπου βρίσκεται στον σωστό κατάλογο (templates/bundles/SyliusShopBundle/). Δοκιμάστε να εκκαθαρίσετε την cache του προγράμματος περιήγησης ή να προβάλετε σε παράθυρο ανώνυμης περιήγησης. Ελέγξτε την κονσόλα προγραμματιστή του προγράμματος περιήγησης για τυχόν σφάλματα JavaScript. Αν χρησιμοποιείτε Webpack Encore, βεβαιωθείτε ότι ανακατασκευάσατε τα assets.
Σημείωση έκδοσης Sylius: Οι διαδρομές παράκαμψης προτύπου ενδέχεται να διαφέρουν ελαφρώς μεταξύ εκδόσεων Sylius. Στο Sylius 1.x, τα πρότυπα bundle καταστήματος βρίσκονται στο templates/bundles/SyliusShopBundle/. Ελέγξτε την τεκμηρίωση Sylius για τη σωστή διαδρομή παράκαμψης αν χρησιμοποιείτε διαφορετική έκδοση.
Weebly