Dashboard'a Dön

Belgeler

Asyntai'yi nasıl kullanacağınızı öğrenin

Sylius'e Asyntai AI Chatbot Nasıl Eklenir

Sylius e-ticaret platformu için adım adım kılavuz

Yerleştirme Kodunu Al

Adım 1: Yerleştirme Kodunuzu Alın

Önce Asyntai Dashboard'unuza gidin ve "Yerleştirme Kodu" bölümüne inin. Şuna benzeyen benzersiz yerleştirme kodunuzu kopyalayın:

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

Not: Yukarıdaki kod yalnızca bir örnektir. Kişisel widget kimliğinizi içerdiğinden, kendi benzersiz yerleştirme kodunuzu Dashboard'unuzdan kopyalamanız gerekir.

Adım 2: Twig Düzen Şablonuna Ekleme (Önerilen)

Sylius, Symfony üzerine inşa edilmiştir ve Twig şablonlama motorunu kullanır. Önerilen yaklaşım, chatbot'u tüm mağaza ön yüz sayfalarına dahil etmek için mağaza düzen şablonunu geçersiz kılmaktır.

  1. Sylius projenizde templates/bundles/SyliusShopBundle/ dizinine gidin (yoksa oluşturun)
  2. Varsayılan mağaza düzenini geçersiz kılmak için layout.html.twig dosyasını oluşturun veya düzenleyin
  3. Dosya zaten mevcutsa, şu bloğu bulun: {% block javascripts %} bloğu
  4. javascripts bloğunu genişleterek Asyntai gömme kodunu ekleyin:
    {% block javascripts %} {{ parent() }} <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> {% endblock %}
  5. YOUR_WIDGET_ID kısmını dashboard'daki gerçek widget kimliğinizle değiştirin
  6. Dosyayı kaydedin

İpucu: 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.

Alternatif Yöntem 1: Sylius Şablon Olaylarını Kullanma

Sylius, tüm şablonları geçersiz kılmadan düzenin belirli bölümlerine içerik eklemenize olanak tanıyan güçlü bir şablon olay sistemi sunar. Bunu, chatbot widget'ını footer alanına eklemek için kullanabilirsiniz.

  1. Aşağıdaki içerikle templates/bundles/SyliusShopBundle/Event/asyntai_widget.html.twig konumunda yeni bir şablon dosyası oluşturun:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  2. Şablon olayını config/packages/sylius_ui.yaml yapılandırma dosyanıza kaydedin:
    sylius_ui:
        events:
            sylius.shop.layout.after_body:
                blocks:
                    asyntai_chatbot:
                        template: "@SyliusShop/Event/asyntai_widget.html.twig"
                        priority: 0
  3. YOUR_WIDGET_ID kısmını gerçek widget kimliğinizle değiştirin
  4. Symfony önbelleğini temizleyin (aşağıdaki Adım 3'e bakın)

Not: Şablon olayı yaklaşımı en az müdahaleci yöntemdir. Mevcut şablonları geçersiz kılmayı gerektirmez ve Sylius'un mimarisiyle temiz bir şekilde entegre olur. priority değeri, aynı olay için birden fazla blok kaydedilmişse oluşturma sırasını kontrol eder.

Alternatif Yöntem 2: Webpack Encore Kullanma

Sylius projeniz varlık yönetimi için Webpack Encore kullanıyorsa, chatbot scriptini JavaScript derleme hattınız aracılığıyla entegre edebilirsiniz.

  1. Aşağıdaki içerikle assets/shop/js/asyntai-chatbot.js konumunda yeni bir JavaScript dosyası oluşturun:
    (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. Bu dosyayı mağaza giriş noktanıza aktarın (ör. assets/shop/entry.js veya assets/shop/js/app.js):
    import './js/asyntai-chatbot';
  3. Varlıklarınızı şu komutu çalıştırarak yeniden oluşturun:
    yarn encore dev

    Veya production için:

    yarn encore production
  4. YOUR_WIDGET_ID kısmını gerçek widget kimliğinizle değiştirin

İpucu: Webpack Encore kullanmak, chatbot scriptinin diğer varlıklarınızla birlikte paketlenmesini ve derleme aracının sağladığı önbellekleme ve optimizasyondan faydalanmasını sağlar.

Alternatif Yöntem 3: Sonata Block Bundle Kullanma

Sylius kurulumunuz Sonata Block Bundle kullanıyorsa (bazı Sylius yapılandırmalarında varsayılan olarak dahildir), chatbot widget'ını işlemek için özel bir blok servisi oluşturabilirsiniz.

  1. Projenizde yeni bir blok servis sınıfı oluşturun, örneğin 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. templates/block/asyntai_chatbot.html.twig konumunda blok şablonunu oluşturun:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  3. Blok servisini config/services.yaml dosyanızda kaydedin:
    services:
        app.block.asyntai_chatbot:
            class: App\Block\AsyntaiChatbotBlockService
            arguments:
                - '@twig'
            tags:
                - { name: sonata.block, context: footer }
  4. Bloğu Sonata yönetici aracılığıyla veya düzen yapılandırmanıza ekleyerek footer bağlamına yerleştirin
  5. YOUR_WIDGET_ID kısmını gerçek widget kimliğinizle değiştirin

Önemli: Sonata Block yaklaşımı daha fazla kurulum gerektirir ancak chatbot bloğunu yönetim arayüzü üzerinden yönetme esnekliği sağlar. Bu yöntemi kullanmadan önce Sonata Block Bundle'ın Sylius projenizde kurulu ve yapılandırılmış olduğundan emin olun.

Adım 3: Önbelleği Temizleyin ve Doğrulayın

Değişikliklerinizi yaptıktan sonra Symfony önbelleğini temizlemeniz ve kurulumu doğrulamanız gerekir:

  1. Proje kök dizininizden aşağıdaki komutu çalıştırarak Symfony önbelleğini temizleyin:
    bin/console cache:clear
  2. Production ortamındaysanız, önbelleği de ısıtın:
    bin/console cache:clear --env=prod
    bin/console cache:warmup --env=prod
  3. Web sitenizi yeni bir tarayıcı sekmesinde veya gizli pencerede açın
  4. Sağ alt köşede sohbet widget'ı düğmesini görmeniz gerekir
  5. Düzgün açıldığından ve çalıştığından emin olmak için tıklayın

Widget'ı göremiyor musunuz? Symfony önbelleğini bin/console cache:clear ile temizlediğinizden emin olun. Şablon geçersiz kılmanın doğru dizinde (templates/bundles/SyliusShopBundle/) olduğunu doğrulayın. Tarayıcı önbelleğinizi temizlemeyi veya gizli pencerede görüntülemeyi deneyin. JavaScript hataları için tarayıcı geliştirici konsolunu kontrol edin. Webpack Encore kullanıyorsanız, varlıkları yeniden oluşturduğunuzdan emin olun.

Sylius Sürüm Notu: Şablon geçersiz kılma yolları Sylius sürümleri arasında biraz farklılık gösterebilir. Sylius 1.x'te mağaza paketi şablonları templates/bundles/SyliusShopBundle/ altında bulunur. Farklı bir sürüm kullanıyorsanız, doğru geçersiz kılma yolu için Sylius belgelerinize bakın.