Sylius में Asyntai AI चैटबॉट कैसे जोड़ें
Sylius ई-कॉमर्स प्लेटफ़ॉर्म के लिए चरण-दर-चरण गाइड
चरण 1: अपना एम्बेड कोड प्राप्त करें
सबसे पहले, अपने Asyntai डैशबोर्ड पर जाएँ और "एम्बेड कोड" अनुभाग तक स्क्रॉल करें। अपना अद्वितीय एम्बेड कोड कॉपी करें जो इस तरह दिखेगा:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
नोट: ऊपर दिया गया कोड केवल एक उदाहरण है। आपको अपने डैशबोर्ड से अपना अद्वितीय एम्बेड कोड कॉपी करना होगा क्योंकि इसमें आपकी व्यक्तिगत विजेट ID होती है।
चरण 2: Twig लेआउट टेम्पलेट में जोड़ें (अनुशंसित)
Sylius Symfony पर बनाया गया है और Twig टेम्पलेटिंग इंजन का उपयोग करता है। अनुशंसित दृष्टिकोण सभी स्टोरफ्रंट पेजों पर चैटबॉट को शामिल करने के लिए शॉप लेआउट टेम्पलेट को ओवरराइड करना है।
- अपने Sylius प्रोजेक्ट में,
templates/bundles/SyliusShopBundle/डायरेक्टरी पर जाएं (यदि यह मौजूद नहीं है तो इसे बनाएं) - डिफॉल्ट शॉप लेआउट को ओवरराइड करने के लिए layout.html.twig फ़ाइल बनाएं या संपादित करें
- यदि फ़ाइल पहले से मौजूद है, तो खोजें
{% block javascripts %}ब्लॉक - javascripts ब्लॉक को विस्तारित करके Asyntai एम्बेड कोड जोड़ें:
{% block javascripts %} {{ parent() }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {% endblock %} YOUR_WIDGET_IDको डैशबोर्ड से अपनी वास्तविक विजेट ID से बदलें- फ़ाइल सहेजें
सुझाव: 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.
वैकल्पिक विधि 1: Sylius टेम्पलेट इवेंट्स का उपयोग
Sylius एक शक्तिशाली टेम्पलेट इवेंट सिस्टम प्रदान करता है जो आपको संपूर्ण टेम्पलेट्स को ओवरराइड किए बिना लेआउट के विशिष्ट भागों में सामग्री इंजेक्ट करने की अनुमति देता है। आप इसका उपयोग फुटर क्षेत्र में चैटबॉट विजेट जोड़ने के लिए कर सकते हैं।
- निम्नलिखित सामग्री के साथ
templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twigपर एक नई टेम्पलेट फ़ाइल बनाएं:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - अपनी
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 YOUR_WIDGET_IDको अपनी वास्तविक विजेट ID से बदलें- Symfony कैश साफ़ करें (नीचे चरण 3 देखें)
नोट: टेम्पलेट इवेंट दृष्टिकोण सबसे कम हस्तक्षेप वाला तरीका है। इसमें किसी भी मौजूदा टेम्पलेट को ओवरराइड करने की आवश्यकता नहीं होती है और यह Sylius के आर्किटेक्चर के साथ सफाई से एकीकृत होता है। यदि एक ही इवेंट के लिए कई ब्लॉक पंजीकृत हैं, तो priority मान रेंडरिंग क्रम को नियंत्रित करता है।
वैकल्पिक विधि 2: Webpack Encore का उपयोग
यदि आपका Sylius प्रोजेक्ट एसेट मैनेजमेंट के लिए Webpack Encore का उपयोग करता है, तो आप अपने जावास्क्रिप्ट बिल्ड पाइपलाइन के माध्यम से चैटबॉट स्क्रिप्ट को एकीकृत कर सकते हैं।
- निम्नलिखित सामग्री के साथ
assets/shop/js/asyntai-chatbot.jsपर एक नई जावास्क्रिप्ट फ़ाइल बनाएं:(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);
})(); - इस फ़ाइल को अपने शॉप एंट्री पॉइंट (जैसे,
assets/shop/entry.jsयाassets/shop/js/app.js) में इम्पोर्ट करें:import './js/asyntai-chatbot'; - चलाकर अपनी एसेट्स पुनर्निर्मित करें:
yarn encore devया प्रोडक्शन के लिए:
yarn encore production YOUR_WIDGET_IDको अपनी वास्तविक विजेट ID से बदलें
सुझाव: Webpack Encore का उपयोग यह सुनिश्चित करता है कि चैटबॉट स्क्रिप्ट आपके अन्य एसेट्स के साथ बंडल की गई है और बिल्ड टूल द्वारा प्रदान किए गए कैशिंग और ऑप्टिमाइज़ेशन से लाभान्वित होती है।
वैकल्पिक विधि 3: Sonata Block Bundle का उपयोग
यदि आपका Sylius इंस्टॉलेशन Sonata Block Bundle का उपयोग करता है (कुछ Sylius कॉन्फ़िगरेशन में डिफ़ॉल्ट रूप से शामिल), तो आप चैटबॉट विजेट को रेंडर करने के लिए एक कस्टम ब्लॉक सर्विस बना सकते हैं।
- अपने प्रोजेक्ट में एक नई ब्लॉक सर्विस क्लास बनाएं, उदाहरण के लिए
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);
}
} templates/block/asyntai_chatbot.html.twigपर ब्लॉक टेम्पलेट बनाएं:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>- अपने
config/services.yamlमें ब्लॉक सर्विस रजिस्टर करें:services:
app.block.asyntai_chatbot:
class: App\Block\AsyntaiChatbotBlockService
arguments:
- '@twig'
tags:
- { name: sonata.block, context: footer } - Sonata एडमिन के माध्यम से या अपने लेआउट कॉन्फ़िगरेशन में जोड़कर ब्लॉक को अपने फुटर संदर्भ में रखें
YOUR_WIDGET_IDको अपनी वास्तविक विजेट ID से बदलें
महत्वपूर्ण: Sonata Block दृष्टिकोण के लिए अधिक सेटअप की आवश्यकता होती है लेकिन यह एडमिन इंटरफेस के माध्यम से चैटबॉट ब्लॉक को प्रबंधित करने के लिए लचीलापन प्रदान करता है। इस पद्धति का उपयोग करने से पहले सुनिश्चित करें कि आपके Sylius प्रोजेक्ट में Sonata Block Bundle इंस्टॉल और कॉन्फ़िगर किया गया है।
चरण 3: कैश साफ़ करें और सत्यापित करें
अपने परिवर्तन करने के बाद, आपको Symfony कैश साफ़ करने और इंस्टॉलेशन को सत्यापित करने की आवश्यकता है:
- अपने प्रोजेक्ट रूट से निम्नलिखित कमांड चलाकर Symfony कैश साफ़ करें:
bin/console cache:clear - यदि आप प्रोडक्शन वातावरण में हैं, तो कैश को भी वार्म अप करें:
bin/console cache:clear --env=prod
bin/console cache:warmup --env=prod - नए ब्राउज़र टैब या इनकॉग्निटो विंडो में अपने Sylius स्टोरफ्रंट पर जाएँ
- आपको नीचे दाएँ कोने में चैट विजेट बटन दिखाई देना चाहिए
- यह सुनिश्चित करने के लिए इस पर क्लिक करें कि यह सही ढंग से खुलता और काम करता है
विजेट दिखाई नहीं दे रहा? सुनिश्चित करें कि आपने bin/console cache:clear के साथ Symfony कैश साफ़ कर दिया है। सत्यापित करें कि टेम्पलेट ओवरराइड सही निर्देशिका (templates/bundles/SyliusShopBundle/) में है। अपना ब्राउज़र कैश साफ़ करने या इनकॉग्निटो विंडो में देखने का प्रयास करें। किसी भी जावास्क्रिप्ट त्रुटियों के लिए ब्राउज़र डेवलपर कंसोल की जाँच करें। यदि Webpack Encore का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आपने एसेट्स को फिर से बनाया है।
Sylius संस्करण नोट: Sylius संस्करणों के बीच टेम्पलेट ओवरराइड पथ थोड़ा भिन्न हो सकते हैं। Sylius 1.x में, शॉप बंडल टेम्पलेट templates/bundles/SyliusShopBundle/ के अंतर्गत स्थित होते हैं। यदि आप किसी भिन्न संस्करण का उपयोग कर रहे हैं तो सही ओवरराइड पथ के लिए अपने Sylius दस्तावेज़ देखें।
Weebly