Ako pridať Asyntai AI Chatbot do Sylius
Podrobný návod pre e-commerce platformu Sylius
Krok 1: Získajte svoj vkladací kód
Najprv prejdite na svoj Asyntai Dashboard a prejdite nadol k sekcii „Vkladací kód“. Skopírujte svoj jedinečný vkladací kód, ktorý bude vyzerať takto:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Poznámka: Kód vyššie je len príklad. Musíte skopírovať svoj vlastný jedinečný vkladací kód zo svojho Dashboardu, pretože obsahuje vaše osobné ID widgetu.
Krok 2: Pridanie do šablóny rozloženia Twig (Odporúčané)
Sylius je postavený na Symfony a používa šablónovací engine Twig. Odporúčaný prístup je prepísať šablónu rozloženia obchodu, aby zahŕňala chatbota na všetkých stránkach obchodu.
- Vo vašom projekte Sylius prejdite do adresára
templates/bundles/SyliusShopBundle/(vytvorte ho, ak neexistuje) - Vytvorte alebo upravte súbor layout.html.twig na prepísanie predvoleného rozloženia obchodu
- Ak súbor už existuje, nájdite
{% block javascripts %}blok - Pridajte vkladací kód Asyntai rozšírením bloku javascripts:
{% block javascripts %} {{ parent() }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {% endblock %} - Nahradte
YOUR_WIDGET_IDvasim skutocnym ID widgetu z dashboardu - Uložte súbor
Tip: 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.
Alternatívna metóda 1: Pomocou udalostí šablón Sylius
Sylius poskytuje výkonný systém udalostí šablón, ktorý vám umožňuje vkladať obsah do konkrétnych častí rozloženia bez prepisovania celých šablón. Môžete ho použiť na pridanie chatového widgetu do oblasti pätičky.
- Vytvorte nový súbor šablóny na
templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twigs nasledujúcim obsahom:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Zaregistrujte udalosť šablóny v konfiguračnom súbore
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 - Nahraďte
YOUR_WIDGET_IDvaším skutočným ID widgetu - Vymažte vyrovnávaciu pamäť Symfony (pozri Krok 3 nižšie)
Poznámka: Prístup udalostí šablón je najmenej invazívna metóda. Nevyžaduje prepísanie žiadnych existujúcich šablón a čisto sa integruje s architektúrou Sylius. Hodnota priority riadi poradie vykresľovania, ak je pre rovnakú udalosť zaregistrovaných viacero blokov.
Alternatívna metóda 2: Pomocou Webpack Encore
Ak váš projekt Sylius používa Webpack Encore na správu aktív, môžete integrovať skript chatbota cez váš JavaScript build pipeline.
- Vytvorte nový JavaScript súbor na
assets/shop/js/asyntai-chatbot.jss nasledujúcim obsahom:(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);
})(); - Importujte tento súbor do vstupného bodu vášho obchodu (napr.
assets/shop/entry.jsaleboassets/shop/js/app.js):import './js/asyntai-chatbot'; - Znovu zostavte svoje assety spustením:
yarn encore devAlebo pre produkciu:
yarn encore production - Nahraďte
YOUR_WIDGET_IDvaším skutočným ID widgetu
Tip: Použitie Webpack Encore zabezpečuje, že skript chatbota je zabalený s vašimi ostatnými aktívami a benefituje z vyrovnávacej pamäte a optimalizácie poskytovanej nástrojom na zostavenie.
Alternatívna metóda 3: Pomocou Sonata Block Bundle
Ak vaša inštalácia Sylius používa Sonata Block Bundle (predvolene zahrnuté v niektorých konfiguráciách Sylius), môžete vytvoriť vlastnú blokovú službu na vykreslenie chatového widgetu.
- Vytvorte novú triedu blokovej služby vo vašom projekte, napríklad
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);
}
} - Vytvorte šablónu bloku 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> - Zaregistrujte blokovú službu v
config/services.yaml:services:
app.block.asyntai_chatbot:
class: App\Block\AsyntaiChatbotBlockService
arguments:
- '@twig'
tags:
- { name: sonata.block, context: footer } - Umiestnite blok do kontextu pätičky cez administráciu Sonata alebo pridaním do konfigurácie rozloženia
- Nahraďte
YOUR_WIDGET_IDvaším skutočným ID widgetu
Dôležité: Prístup Sonata Block vyžaduje viac nastavení, ale poskytuje flexibilitu na správu bloku chatbota cez administrátorské rozhranie. Pred použitím tejto metódy sa uistite, že Sonata Block Bundle je nainštalovaný a nakonfigurovaný vo vašom projekte Sylius.
Krok 3: Vymazanie vyrovnávacej pamäte a overenie
Po vykonaní zmien musíte vymazať vyrovnávaciu pamäť Symfony a overiť inštaláciu:
- Vymažte vyrovnávaciu pamäť Symfony spustením nasledujúceho príkazu z koreňa vášho projektu:
bin/console cache:clear - Ak ste v produkčnom prostredí, tiež zahrejte vyrovnávaciu pamäť:
bin/console cache:clear --env=prod
bin/console cache:warmup --env=prod - Navštívte obchod Sylius v novej záložke prehliadača alebo v okne inkognito
- Mali by ste vidieť tlačidlo chatového widgetu v pravom dolnom rohu
- Kliknite naň, aby ste sa uistili, že sa otvára a funguje správne
Nevidíte widget? Uistite sa, že ste vymazali vyrovnávaciu pamäť Symfony príkazom bin/console cache:clear. Overte, že prepísanie šablóny je v správnom adresári (templates/bundles/SyliusShopBundle/). Skúste vymazať vyrovnávaciu pamäť prehliadača alebo zobraziť stránku v okne inkognito. Skontrolujte vývojársku konzolu prehliadača, či neobsahuje chyby JavaScript. Ak používate Webpack Encore, uistite sa, že ste prestavili aktíva.
Poznámka k verzii Sylius: Cesty na prepísanie šablón sa môžu mierne líšiť medzi verziami Sylius. V Sylius 1.x sa šablóny balíka obchodu nachádzajú pod templates/bundles/SyliusShopBundle/. Skontrolujte dokumentáciu Sylius pre správnu cestu prepísania, ak používate inú verziu.
Weebly