Επιστροφή στον Πίνακα Ελέγχου

Τεκμηρίωση

Μάθετε πώς να χρησιμοποιείτε το Asyntai

Πώς να προσθέσετε το 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 σε όλες τις σελίδες του καταστήματος.

  1. Στο έργο Sylius σας, μεταβείτε στον κατάλογο templates/bundles/SyliusShopBundle/ (δημιουργήστε τον αν δεν υπάρχει)
  2. Δημιουργήστε ή επεξεργαστείτε το αρχείο layout.html.twig για παράκαμψη της προεπιλεγμένης διάταξης καταστήματος
  3. Αν το αρχείο υπάρχει ήδη, βρείτε το {% block javascripts %} block
  4. Προσθέστε τον κώδικα ενσωμάτωσης 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 %}
  5. Αντικαταστήστε το YOUR_WIDGET_ID με το πραγματικό widget ID από τον πίνακα ελέγχου
  6. Αποθηκεύστε το αρχείο

Συμβουλή: 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 στην περιοχή υποσέλιδου.

  1. Δημιουργήστε ένα νέο αρχείο προτύπου στο 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>
  2. Καταχωρήστε το συμβάν προτύπου στο αρχείο ρύθμισης 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
  3. Αντικαταστήστε το YOUR_WIDGET_ID με το πραγματικό widget ID σας
  4. Εκκαθαρίστε την cache του Symfony (βλέπε Βήμα 3 παρακάτω)

Σημείωση: Η προσέγγιση συμβάντων προτύπου είναι η λιγότερο παρεμβατική μέθοδος. Δεν απαιτεί παράκαμψη οποιουδήποτε υπάρχοντος προτύπου και ενσωματώνεται καθαρά με την αρχιτεκτονική του Sylius. Η τιμή priority ελέγχει τη σειρά απόδοσης αν πολλαπλά blocks καταχωρηθούν για το ίδιο συμβάν.

Εναλλακτική Μέθοδος 2: Χρήση Webpack Encore

Αν το έργο Sylius σας χρησιμοποιεί Webpack Encore για διαχείριση assets, μπορείτε να ενσωματώσετε το script του chatbot μέσω της αλυσίδας κατασκευής JavaScript.

  1. Δημιουργήστε ένα νέο αρχείο 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);
    })();
  2. Εισαγάγετε αυτό το αρχείο στο σημείο εισόδου του καταστήματός σας (π.χ. assets/shop/entry.js ή assets/shop/js/app.js):
    import './js/asyntai-chatbot';
  3. Ανακατασκευάστε τα assets σας εκτελώντας:
    yarn encore dev

    Ή για παραγωγή:

    yarn encore production
  4. Αντικαταστήστε το YOUR_WIDGET_ID με το πραγματικό widget ID σας

Συμβουλή: Η χρήση Webpack Encore διασφαλίζει ότι το script του chatbot συνδυάζεται με τα άλλα assets σας και επωφελείται από τη cache και τη βελτιστοποίηση που παρέχει το εργαλείο κατασκευής.

Εναλλακτική Μέθοδος 3: Χρήση Sonata Block Bundle

Αν η εγκατάσταση Sylius σας χρησιμοποιεί το Sonata Block Bundle (συμπεριλαμβάνεται εξ ορισμού σε ορισμένες ρυθμίσεις Sylius), μπορείτε να δημιουργήσετε μια προσαρμοσμένη υπηρεσία block για απόδοση του chat widget.

  1. Δημιουργήστε μια νέα κλάση υπηρεσίας 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);
        }
    }
  2. Δημιουργήστε το πρότυπο 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>
  3. Καταχωρήστε την υπηρεσία block στο config/services.yaml σας:
    services:
        app.block.asyntai_chatbot:
            class: App\Block\AsyntaiChatbotBlockService
            arguments:
                - '@twig'
            tags:
                - { name: sonata.block, context: footer }
  4. Τοποθετήστε το block στο πλαίσιο υποσέλιδου μέσω του διαχειριστή Sonata ή προσθέτοντάς το στη ρύθμιση διάταξής σας
  5. Αντικαταστήστε το YOUR_WIDGET_ID με το πραγματικό widget ID σας

Σημαντικό: Η προσέγγιση Sonata Block απαιτεί περισσότερη ρύθμιση αλλά παρέχει ευελιξία για διαχείριση του block chatbot μέσω της διεπαφής διαχειριστή. Βεβαιωθείτε ότι το Sonata Block Bundle είναι εγκατεστημένο και ρυθμισμένο στο έργο Sylius σας πριν χρησιμοποιήσετε αυτή τη μέθοδο.

Βήμα 3: Εκκαθάριση Προσωρινής Μνήμης και Επαλήθευση

Αφού κάνετε τις αλλαγές σας, πρέπει να εκκαθαρίσετε την cache του Symfony και να επαληθεύσετε την εγκατάσταση:

  1. Εκκαθαρίστε την cache του Symfony εκτελώντας την παρακάτω εντολή από τη ρίζα του έργου σας:
    bin/console cache:clear
  2. Αν βρίσκεστε σε περιβάλλον παραγωγής, θερμάνετε επίσης την cache:
    bin/console cache:clear --env=prod
    bin/console cache:warmup --env=prod
  3. Επισκεφθείτε τη βιτρίνα του Sylius σας σε μια νέα καρτέλα προγράμματος περιήγησης ή σε παράθυρο ανώνυμης περιήγησης
  4. Θα πρέπει να δείτε το κουμπί chat widget στην κάτω δεξιά γωνία
  5. Κάντε κλικ σε αυτό για να βεβαιωθείτε ότι ανοίγει και λειτουργεί σωστά

Δεν βλέπετε το 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 για τη σωστή διαδρομή παράκαμψης αν χρησιμοποιείτε διαφορετική έκδοση.