Grįžti į valdymo skydą

Dokumentacija

Sužinokite, kaip naudoti Asyntai

Kaip pridėti Asyntai AI pokalbių robotą prie Sylius

Žingsnis po žingsnio vadovas Sylius elektroninės prekybos platformai

Gauti įterpimo kodą

1 žingsnis: Gaukite savo įterpimo kodą

Pirma, eikite į savo Asyntai valdymo skydelį ir slinkite žemyn iki "Įterpimo kodas" skyriaus. Nukopijuokite savo unikalų įterpimo kodą, kuris atrodys taip:

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

Pastaba: Aukščiau pateiktas kodas yra tik pavyzdys. Turite nukopijuoti savo unikalų įterpimo kodą iš savo Valdymo skydelio, nes jame yra jūsų asmeninis valdiklio ID.

2 žingsnis: Pridėjimas prie Twig išdėstymo šablono (rekomenduojama)

Sylius yra sukurtas ant Symfony ir naudoja Twig šablonų variklį. Rekomenduojamas metodas yra perrašyti parduotuvės išdėstymo šabloną, kad pokalbių robotas būtų įtrauktas visuose parduotuvės puslapiuose.

  1. Savo Sylius projekte eikite į templates/bundles/SyliusShopBundle/ katalogą (sukurkite jį, jei jo nėra)
  2. Sukurkite arba redaguokite failą layout.html.twig, kad perrašytumėte numatytąjį parduotuvės išdėstymą
  3. Jei failas jau egzistuoja, raskite {% block javascripts %} bloką
  4. Pridėkite Asyntai įterpimo kodą išplėsdami javascripts bloką:
    {% block javascripts %} {{ parent() }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {% endblock %}
  5. Pakeiskite YOUR_WIDGET_ID savo tikruoju valdiklio ID iš valdymo skydelio
  6. Išsaugokite failą

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

Alternatyvus metodas 1: Sylius šablonų įvykių naudojimas

Sylius suteikia galingą šablonų įvykių sistemą, leidžiančią įterpti turinį į konkrečias išdėstymo dalis neperrašant visų šablonų. Galite tai naudoti pokalbių roboto valdiklio pridėjimui prie poraštės srities.

  1. Sukurkite naują šablono failą templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twig su šiuo turiniu:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  2. Užregistruokite šablono įvykį savo config/packages/sylius_ui.yaml konfigūracijos faile:
    sylius_ui:
        events:
            sylius.shop.layout.after_body:
                blocks:
                    asyntai_chatbot:
                        template: "@SyliusShop/Event/asyntai_widget.html.twig"
                        priority: 0
  3. Pakeiskite YOUR_WIDGET_ID savo tikruoju valdiklio ID
  4. Išvalykite Symfony talpyklą (žr. 3 žingsnį žemiau)

Pastaba: Šablonų įvykių metodas yra mažiausiai invazinis. Jis nereikalauja perrašyti jokių esamų šablonų ir švariai integruojasi su Sylius architektūra. priority reikšmė valdo atvaizdavimo tvarką, jei keli blokai yra užregistruoti tam pačiam įvykiui.

Alternatyvus metodas 2: Webpack Encore naudojimas

Jei jūsų Sylius projektas naudoja Webpack Encore išteklių valdymui, galite integruoti pokalbių roboto scenarijų per savo JavaScript kūrimo procesą.

  1. Sukurkite naują JavaScript failą assets/shop/js/asyntai-chatbot.js su šiuo turiniu:
    (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. Importuokite šį failą savo parduotuvės įėjimo taške (pvz., assets/shop/entry.js arba assets/shop/js/app.js):
    import './js/asyntai-chatbot';
  3. Iš naujo sukurkite išteklius paleisdami:
    yarn encore dev

    Arba gamybai:

    yarn encore production
  4. Pakeiskite YOUR_WIDGET_ID savo tikruoju valdiklio ID

Patarimas: Webpack Encore naudojimas užtikrina, kad pokalbių roboto scenarijus yra supakuotas su kitais ištekliais ir naudojasi talpykla bei optimizavimu, kuriuos suteikia kūrimo įrankis.

Alternatyvus metodas 3: Sonata Block Bundle naudojimas

Jei jūsų Sylius diegimas naudoja Sonata Block Bundle (įtrauktą pagal nutylėjimą kai kuriose Sylius konfigūracijose), galite sukurti individualią bloko paslaugą pokalbių roboto valdikliui atvaizduoti.

  1. Sukurkite naują bloko paslaugos klasę savo projekte, pavyzdžiui, 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. Sukurkite bloko šabloną 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. Užregistruokite bloko paslaugą savo config/services.yaml:
    services:
        app.block.asyntai_chatbot:
            class: App\Block\AsyntaiChatbotBlockService
            arguments:
                - '@twig'
            tags:
                - { name: sonata.block, context: footer }
  4. Patalpinkite bloką savo poraštės kontekste per Sonata administravimą arba pridėdami jį prie išdėstymo konfigūracijos
  5. Pakeiskite YOUR_WIDGET_ID savo tikruoju valdiklio ID

Svarbu: Sonata Block metodas reikalauja daugiau nustatymų, bet suteikia lankstumą valdyti pokalbių roboto bloką per administravimo sąsają. Įsitikinkite, kad Sonata Block Bundle yra įdiegtas ir sukonfigūruotas jūsų Sylius projekte prieš naudodami šį metodą.

3 žingsnis: Išvalykite talpyklą ir patikrinkite

Atlikę pakeitimus, turite išvalyti Symfony talpyklą ir patikrinti diegimą:

  1. Išvalykite Symfony talpyklą paleisdami šią komandą iš projekto šakninio katalogo:
    bin/console cache:clear
  2. Jei esate gamybos aplinkoje, taip pat pašildykite talpyklą:
    bin/console cache:clear --env=prod
    bin/console cache:warmup --env=prod
  3. Atidarykite svetainę naujame naršyklės skirtuke arba inkognito lange
  4. Turėtumėte matyti pokalbių valdiklio mygtuką apatiniame dešiniajame kampe
  5. Spustelėkite jį, kad įsitikintumėte, jog jis atsidaro ir veikia teisingai

Nematote valdiklio? Įsitikinkite, kad išvalėte Symfony talpyklą su bin/console cache:clear. Patikrinkite, ar šablono perrašymas yra teisingame kataloge (templates/bundles/SyliusShopBundle/). Pabandykite išvalyti naršyklės talpyklą arba peržiūrėti inkognito lange. Patikrinkite naršyklės kūrėjo konsolę dėl JavaScript klaidų. Jei naudojate Webpack Encore, įsitikinkite, kad iš naujo sukūrėte išteklius.

Sylius versijos pastaba: Šablonų perrašymo keliai gali šiek tiek skirtis tarp Sylius versijų. Sylius 1.x versijoje parduotuvės paketo šablonai yra templates/bundles/SyliusShopBundle/. Patikrinkite Sylius dokumentaciją dėl teisingo perrašymo kelio, jei naudojate kitą versiją.