Kaip pridėti Asyntai AI pokalbių robotą prie Sylius
Žingsnis po žingsnio vadovas Sylius elektroninės prekybos platformai
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.
- Savo Sylius projekte eikite į
templates/bundles/SyliusShopBundle/katalogą (sukurkite jį, jei jo nėra) - Sukurkite arba redaguokite failą layout.html.twig, kad perrašytumėte numatytąjį parduotuvės išdėstymą
- Jei failas jau egzistuoja, raskite
{% block javascripts %}bloką - 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 %} - Pakeiskite
YOUR_WIDGET_IDsavo tikruoju valdiklio ID iš valdymo skydelio - 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.
- Sukurkite naują šablono failą
templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twigsu šiuo turiniu:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Užregistruokite šablono įvykį savo
config/packages/sylius_ui.yamlkonfigūracijos faile:sylius_ui:
events:
sylius.shop.layout.after_body:
blocks:
asyntai_chatbot:
template: "@SyliusShop/Event/asyntai_widget.html.twig"
priority: 0 - Pakeiskite
YOUR_WIDGET_IDsavo tikruoju valdiklio ID - 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ą.
- Sukurkite naują JavaScript failą
assets/shop/js/asyntai-chatbot.jssu š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);
})(); - Importuokite šį failą savo parduotuvės įėjimo taške (pvz.,
assets/shop/entry.jsarbaassets/shop/js/app.js):import './js/asyntai-chatbot'; - Iš naujo sukurkite išteklius paleisdami:
yarn encore devArba gamybai:
yarn encore production - Pakeiskite
YOUR_WIDGET_IDsavo 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.
- 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);
}
} - 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> - 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 } - Patalpinkite bloką savo poraštės kontekste per Sonata administravimą arba pridėdami jį prie išdėstymo konfigūracijos
- Pakeiskite
YOUR_WIDGET_IDsavo 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ą:
- Išvalykite Symfony talpyklą paleisdami šią komandą iš projekto šakninio katalogo:
bin/console cache:clear - Jei esate gamybos aplinkoje, taip pat pašildykite talpyklą:
bin/console cache:clear --env=prod
bin/console cache:warmup --env=prod - Atidarykite svetainę naujame naršyklės skirtuke arba inkognito lange
- Turėtumėte matyti pokalbių valdiklio mygtuką apatiniame dešiniajame kampe
- 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ą.
Weebly