Kuidas lisada Asyntai AI vestlusrobotit Syliusele

Samm-sammuline juhend Syliuse e-kaubanduse platvormi jaoks

Hangi põimimiskood

1. samm: hankige oma manuskood

Esmalt minge oma Asyntai juhtpaneelile ja kerige alla jaotiseni "Manuskood". Kopeerige oma unikaalne manuskood, mis näeb välja selline:

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

Märkus: Ülalolev kood on vaid näide. Peate kopeerima oma unikaalse manuskoodi oma juhtpaneelilt, kuna see sisaldab teie isiklikku vidina ID-d.

2. samm: lisamine Twigi küljenduse malli (soovitatav)

Sylius on ehitatud Symfony peale ja kasutab Twigi mallimootorit. Soovitatav lähenemine on alistada kaupluse küljenduse mall, et kaasata vestlusrobot kõikidele kaupluse lehtedele.

  1. Oma Syliuse projektis navigeerige kataloogi templates/bundles/SyliusShopBundle/ (looge see, kui seda ei ole)
  2. Looge või muutke faili layout.html.twig, et alistada kaupluse vaikeküljendus
  3. Kui fail on juba olemas, leidke {% block javascripts %} plokk
  4. Lisage Asyntai manuskood JavaScripti ploki laiendamise teel:
    {% block javascripts %} {{ parent() }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {% endblock %}
  5. Asendage YOUR_WIDGET_ID oma tegeliku vidina ID-ga juhtpaneelilt
  6. Salvestage fail

Vihje: 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.

Alternatiivne meetod 1: Syliuse malli sündmuste kasutamine

Sylius pakub võimsat malli sündmuste süsteemi, mis võimaldab teil lisada sisu küljenduse konkreetsetesse osadesse ilma terveid malle alistamata. Saate seda kasutada vestlusvidina lisamiseks jaluse alale.

  1. Looge uus malli fail asukohta templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twig järgmise sisuga:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  2. Registreerige malli sündmus oma failis 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. Asendage YOUR_WIDGET_ID oma tegeliku vidina ID-ga
  4. Tühjendage Symfony vahemälu (vt allpool 3. samm)

Märkus: Malli sündmuse lähenemine on kõige vähem invasiivne meetod. See ei nõua olemasolevate mallide alistamist ja integreerub puhtalt Syliuse arhitektuuriga. priority väärtus juhib renderdamise järjekorda, kui sama sündmuse jaoks on registreeritud mitu plokki.

Alternatiivne meetod 2: Webpack Encore kasutamine

Kui teie Syliuse projekt kasutab varade haldamiseks Webpack Encore'i, saate integreerida vestlusroboti skripti oma JavaScripti ehitustorustiku kaudu.

  1. Looge uus JavaScripti fail asukohta assets/shop/js/asyntai-chatbot.js järgmise sisuga:
    (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. Importige see fail oma kaupluse sisenemispunkti (nt assets/shop/entry.js või assets/shop/js/app.js):
    import './js/asyntai-chatbot';
  3. Ehitage oma varad uuesti, käivitades:
    yarn encore dev

    Või tootmiseks:

    yarn encore production
  4. Asendage YOUR_WIDGET_ID oma tegeliku vidina ID-ga

Vihje: Webpack Encore'i kasutamine tagab, et vestlusroboti skript on seotud teie teiste varadega ning saab kasu ehitustööriista pakutavast vahemällu salvestamisest ja optimeerimisest.

Alternatiivne meetod 3: Sonata Block Bundle kasutamine

Kui teie Syliuse paigaldus kasutab Sonata Block Bundle'it (vaikimisi kaasatud mõnes Syliuse konfiguratsioonis), saate luua kohandatud ploki teenuse vestlusvidina renderdamiseks.

  1. Looge oma projektis uus ploki teenuse klass, näiteks 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. Looge ploki mall asukohta 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. Registreerige plokiteenus oma failis config/services.yaml:
    services:
        app.block.asyntai_chatbot:
            class: App\Block\AsyntaiChatbotBlockService
            arguments:
                - '@twig'
            tags:
                - { name: sonata.block, context: footer }
  4. Paigutage plokk oma jaluse konteksti Sonata halduspaneeli kaudu või lisades selle oma küljenduse konfiguratsiooni
  5. Asendage YOUR_WIDGET_ID oma tegeliku vidina ID-ga

Oluline: Sonata Block'i lähenemine nõuab rohkem seadistamist, kuid pakub paindlikkust vestlusroboti ploki haldamiseks haldusliidese kaudu. Veenduge, et Sonata Block Bundle on teie Syliuse projektis installitud ja konfigureeritud enne selle meetodi kasutamist.

3. samm: Tühjendage vahemälu ja kontrollige

Pärast muudatuste tegemist peate tühjendama Symfony vahemälu ja kinnitama paigalduse:

  1. Tühjendage Symfony vahemälu, käivitades oma projekti juurkataloogist järgmise käsu:
    bin/console cache:clear
  2. Tootmiskeskkonnas soojendage ka vahemälu:
    bin/console cache:clear --env=prod
    bin/console cache:warmup --env=prod
  3. Külastage oma Syliuse poodi uuel brauseri vahekaardil või inkognito aknas
  4. Peaksite nägema vestlusvidina nuppu alumises paremas nurgas
  5. Klõpsake sellel, et veenduda, et see avaneb ja töötab korrektselt

Ei näe vidinat? Veenduge, et tühjendasite Symfony vahemälu käsuga bin/console cache:clear. Veenduge, et malli tühistamine on õiges kataloogis (templates/bundles/SyliusShopBundle/). Proovige tühjendada brauseri vahemälu või vaadata inkognito aknas. Kontrollige brauseri arendaja konsooli JavaScripti vigade osas. Webpack Encore'i kasutamisel veenduge, et olete varad uuesti ehitanud.

Syliuse versiooni märkus: Malli tühistamise teed võivad Syliuse versioonide vahel veidi erineda. Sylius 1.x-is asuvad kaupluse bundle'i mallid kataloogis templates/bundles/SyliusShopBundle/. Kontrollige oma Syliuse dokumentatsiooni õige tühistamistee jaoks, kui kasutate teist versiooni.