Nazaj na nadzorno ploščo

Dokumentacija

Naučite se uporabljati Asyntai

Kako dodati klepetalnik Asyntai AI v Sylius

Vodič po korakih za platformo za e-trgovino Sylius

Pridobite kodo za vgradnjo

Korak 1: Pridobite svojo vdelovalno kodo

Najprej pojdite na svojo Nadzorno ploščo Asyntai in se pomaknite navzdol do razdelka "Vdelovalna koda". Kopirajte svojo edinstveno vdelovalno kodo, ki bo videti takole:

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

Opomba: Zgornja koda je le primer. Svojo edinstveno vdelovalno kodo morate kopirati iz svoje Nadzorne plošče, saj vsebuje vaš osebni ID klepetalnika.

Korak 2: Dodajte v predlogo postavitve Twig (priporočeno)

Sylius je zgrajen na Symfony in uporablja mehanizem predlog Twig. Priporoceni pristop je prepisati predlogo postavitve trgovine za vključitev klepetalnika na vseh straneh trgovine.

  1. V svojem projektu Sylius pojdite v imenik templates/bundles/SyliusShopBundle/ (ustvarite ga, če ne obstaja)
  2. Ustvarite ali uredite datoteko layout.html.twig za prepis privzete postavitve trgovine
  3. Če datoteka že obstaja, poišcite {% block javascripts %} blok
  4. Dodajte vdelano kodo Asyntai z razširitvijo bloka javascripts:
    {% block javascripts %} {{ parent() }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {% endblock %}
  5. Zamenjajte YOUR_WIDGET_ID s svojim dejanskim ID-jem klepetalnika z nadzorne plošče
  6. Shranite datoteko

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

Alternativni način 1: Uporaba dogodkov predlog Sylius

Sylius zagotavlja zmogljiv sistem dogodkov predlog, ki vam omogoča vstavljanje vsebine v določene dele postavitve brez prepisovanja celotnih predlog. To lahko uporabite za dodajanje pripomocka klepetalnika v podrocje noge.

  1. Ustvarite novo datoteko predloge na templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twig z naslednjo vsebino:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  2. Registrirajte dogodek predloge v svoji konfiguracijski datoteki 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. Zamenjajte YOUR_WIDGET_ID s svojim dejanskim ID-jem gradnika
  4. Počistite predpomnilnik Symfony (glejte korak 3 spodaj)

Opomba: Pristop z dogodki predlog je najmanj invazivna metoda. Ne zahteva prepisovanja obstojecih predlog in se čisteje integrira z arhitekturo Sylius. Vrednost priority nadzira vrstni red upodabljanja, če je za isti dogodek registriranih več blokov.

Alternativni način 2: Uporaba Webpack Encore

Če vaš projekt Sylius uporablja Webpack Encore za upravljanje sredstev, lahko integrirate skripto klepetalnika prek svojega cevovoda za gradnjo JavaScript.

  1. Ustvarite novo datoteko JavaScript na assets/shop/js/asyntai-chatbot.js z naslednjo vsebino:
    (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. Uvozite to datoteko v vstopno tocko trgovine (npr. assets/shop/entry.js ali assets/shop/js/app.js):
    import './js/asyntai-chatbot';
  3. Ponovno zgradite svoja sredstva z zagonom:
    yarn encore dev

    Ali za produkcijo:

    yarn encore production
  4. Zamenjajte YOUR_WIDGET_ID s svojim dejanskim ID-jem gradnika

Nasvet: Uporaba Webpack Encore zagotavlja, da je skripta klepetalnika vkljucena v sveženj z vašimi drugimi sredstvi in ima koristi od predpomnjenja in optimizacije, ki jo zagotavlja orodje za gradnjo.

Alternativni način 3: Uporaba svežnja Sonata Block

Če vaša namestitev Sylius uporablja sveženj Sonata Block (privzeto vključen v nekaterih konfiguracijah Sylius), lahko ustvarite storitev blokov po meri za upodabljanje pripomocka klepetalnika.

  1. Ustvarite nov razred storitve blokov v svojem projektu, na primer 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. Ustvarite predlogo bloka na 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. Registrirajte storitev blokov v svojem config/services.yaml:
    services:
        app.block.asyntai_chatbot:
            class: App\Block\AsyntaiChatbotBlockService
            arguments:
                - '@twig'
            tags:
                - { name: sonata.block, context: footer }
  4. Umestite blok v kontekst noge prek skrbništva Sonata ali z dodajanjem v konfiguracijo postavitve
  5. Zamenjajte YOUR_WIDGET_ID s svojim dejanskim ID-jem gradnika

Pomembno: Pristop s svežnjem Sonata Block zahteva več nastavitev, vendar zagotavlja prilagodljivost za upravljanje bloka klepetalnika prek skrbniškega vmesnika. Prepričajte se, da je sveženj Sonata Block namešcen in konfiguriran v vašem projektu Sylius, preden uporabite ta način.

Korak 3: Počistite predpomnilnik in preverite

Po izvedbi sprememb morate pocistiti predpomnilnik Symfony in preveriti namestitev:

  1. Počistite predpomnilnik Symfony z zagonom naslednjega ukaza iz korena projekta:
    bin/console cache:clear
  2. Če ste v produkcijskem okolju, predpomnilnik tudi ogrejte:
    bin/console cache:clear --env=prod
    bin/console cache:warmup --env=prod
  3. Odprite svojo živo trgovino v novem zavihku brskalnika
  4. V spodnjem desnem kotu bi morali videti gumb klepetalnika
  5. Kliknite ga, da preverite, ali se pravilno odpre in deluje

Ne vidite klepetalnika? Prepričajte se, da ste pocistili predpomnilnik Symfony z bin/console cache:clear. Preverite, da je prepis predloge v pravilnem imeniku (templates/bundles/SyliusShopBundle/). Poskusite pocistiti predpomnilnik brskalnika ali stran ogledati v oknu brez beleženja. Preverite konzolo razvijalca v brskalniku za morebitne napake JavaScript. Če uporabljate Webpack Encore, se prepričajte, da ste ponovno zgradili sredstva.

Opomba o različici Sylius: Poti za prepis predlog se lahko med različicami Sylius nekoliko razlikujejo. V Sylius 1.x se predloge svežnja trgovine nahajajo pod templates/bundles/SyliusShopBundle/. Preverite dokumentacijo Sylius za pravilno pot za prepis, če uporabljate drugacno različico.