JTL-Shop-Anleitung
FirstBot-Widget in Ihren JTL-Shop mit Nova-Template einbinden
Getestet mit JTL-Shop 5.x · Nova-Template (Standard)
Inhalt
★ Ihr persönlicher Code-Schnipsel
Dieser Code muss einmalig in den <head>-Bereich Ihres JTL-Shops eingefügt werden.
1 Fertiges Plugin installieren (empfohlen)
Wir stellen ein fertiges JTL-Shop-Plugin bereit, das den Chatbot automatisch einbindet. Kein Dateien-Editieren, kein Template-Eingriff – das Plugin funktioniert mit dem Standard-Nova-Template und bleibt bei Shop- und Template-Updates erhalten.
Schritt 1 – Plugin herunterladen
Klicken Sie auf den Download-Button oben. Sie erhalten die Datei firstbot_chatbot.zip (ca. 4 KB). Nicht entpacken – die ZIP-Datei wird direkt ins JTL-Backend hochgeladen.
Schritt 2 – Plugin im JTL-Backend installieren
- Loggen Sie sich in Ihr JTL-Shop-Backend ein.
- Navigieren Sie zu Plugins → Plugin-Manager (bei älteren Versionen: Pluginverwaltung).
- Klicken Sie auf den Tab „Upload" (bzw. das Upload-Symbol).
- Wählen Sie die heruntergeladene
firstbot_chatbot.zipaus und laden Sie sie hoch. - Das Plugin „FirstBot Chatbot" erscheint nun unter „Verfügbar".
- Klicken Sie auf „Installieren" und anschließend auf „Aktivieren".
Schritt 3 – API-Key hinterlegen
Nach der Aktivierung erscheint das Plugin unter Plugins → Aktiviert → FirstBot Chatbot.
- Öffnen Sie das Plugin und wechseln Sie zum Tab „Einstellungen".
- Tragen Sie Ihren API-Key in das Feld „API-Key" ein:
IHR-API-KEY
- Stellen Sie „Aktiv" auf „Ja".
- Klicken Sie auf „Speichern".
Schritt 4 – Cache leeren & testen
- Gehen Sie zu System → Cache und klicken auf „Alle Caches leeren".
- Öffnen Sie Ihren Shop im Frontend (Strg+Shift+R für Hard-Reload).
- Der Chat-Button erscheint unten rechts.
HOOK_SMARTY_OUTPUTFILTER direkt in den <head>-Bereich. Kein Template-Eingriff nötig, keine Veränderung von Nova-Dateien.2 Code in header.tpl (Nova Child-Template)
Wenn Sie kein Plugin nutzen möchten oder bereits ein eigenes Child-Template im Einsatz haben, können Sie den Code direkt in die Nova-header.tpl einfügen.
Schritt 1 – Child-Template anlegen (falls noch nicht vorhanden)
- Verbinden Sie sich per FTP/SFTP mit Ihrem Server.
- Kopieren Sie den Ordner
templates/NOVAnachtemplates/NOVA-Custom(Name frei wählbar). - Passen Sie in
templates/NOVA-Custom/template.xmlden<Name>an, z. B. „NOVA Custom". - Aktivieren Sie das neue Template im Backend unter Storefront → Template.
Schritt 2 – header.tpl bearbeiten
Öffnen Sie im Child-Template die Datei:
Suchen Sie das schließende </head>-Tag und fügen Sie den Code direkt davor ein:
Schritt 3 – Cache leeren
- System → Cache → Template-Cache leeren und „Objekt-Cache leeren".
- Shop im Frontend mit Strg+Shift+R neu laden.
{* ... *} ist korrekt. JavaScript wird normal als HTML ausgegeben. Vermeiden Sie geschweifte Klammern { } in Ihrem JS-Code oder wrappen Sie sie in {literal}...{/literal}.3 Custom JS über das JTL-Backend
Wenn Sie keinen FTP-Zugriff haben oder weder Plugin noch Template bearbeiten möchten, bieten manche JTL-Shop-Versionen die Möglichkeit, eigenen JavaScript-Code direkt im Backend einzufügen.
Schritt 1 – Backend-Bereich finden
Je nach JTL-Shop-Version heißt der Bereich unterschiedlich:
- Storefront → Template-Einstellungen → Eigenes CSS/JS
- Darstellung → Template → Custom JavaScript
- Oder im aktiven Template-Tab „Erweitert" / „Kopfbereich"
Schritt 2 – Code einfügen
Schritt 3 – Speichern & Cache leeren
- Speichern Sie die Einstellungen.
- System → Cache → Alle Caches leeren.
- Shop-Seite im Frontend neu laden.
✓ Widget testen
Nachdem Sie den Code eingebunden haben, prüfen Sie die Einbindung so:
- Öffnen Sie Ihren JTL-Shop in einem neuen Browser-Tab.
- Drücken Sie Strg+Shift+R (Windows) oder Cmd+Shift+R (Mac), um den Cache zu leeren.
- In der rechten unteren Ecke sollte ein Chat-Button erscheinen.
- Klicken Sie darauf – das Chat-Fenster sollte sich öffnen.
- Navigieren Sie zu verschiedenen Seiten (Startseite, Kategorie, Produktseite) – der Chat-Button sollte überall sichtbar sein.
Prüfen mit Browser-Entwicklertools
- Öffnen Sie die Entwicklertools mit F12.
- Wechseln Sie zum Tab „Konsole" (Console).
- Es sollten keine roten Fehlermeldungen bezüglich
chatbot.jserscheinen. - Im Tab „Netzwerk" (Network) → filtern Sie nach
chatbot.js– der Status sollte 200 sein.
Häufige Fragen & Probleme
Der Chat-Button erscheint nicht
- Prüfen Sie, ob der API-Key korrekt eingesetzt wurde (kein Leerzeichen am Anfang/Ende).
- Cache leeren! JTL-Shop cacht Templates aggressiv: System → Cache → Alle Caches leeren.
- Prüfen Sie in der Browser-Konsole (F12) auf Fehlermeldungen.
- Stellen Sie sicher, dass Sie die korrekte Domain in Ihrem FirstBot-Dashboard eingetragen haben.
Content-Security-Policy (CSP) blockiert das Script
Manche JTL-Shop-Installationen setzen strenge CSP-Header. Fügen Sie in Ihrer .htaccess oder Serverkonfiguration folgende Domain zur CSP hinzu:
Widget überlappt mit JTL-Shop-Elementen
Falls der Chat-Button den „Warenkorb"-Button oder Cookie-Banner überlappt:
- Passen Sie im FirstBot-Dashboard unter „Styling & Farbe" die Widget-Position an (links/rechts).
- Der z-index des Widgets ist standardmäßig hoch genug (9999). Bei Konflikten können Sie ihn über Custom CSS anpassen.
Widget erscheint im Backend / Admin-Bereich
Das Widget wird nur im Frontend geladen. Wenn Sie den Code in der header.tpl eingefügt haben, gilt er nur für das Shop-Frontend – nicht für das JTL-Backend (/admin).
Smarty-Template-Fehler nach dem Einfügen
- Achten Sie darauf, dass der Code außerhalb von Smarty-Blöcken (
{block}...{/block}) steht, es sei denn, Sie überschreiben bewusst einen Block im Child-Template. - Verwenden Sie keine geschweiften Klammern
{ }im JavaScript-Code, ohne sie in{literal}...{/literal}zu wrappen – Smarty interpretiert sie sonst als Template-Tags. - Der oben gezeigte Code enthält keine geschweiften Klammern und funktioniert direkt.
Lädt das Widget die Seite langsamer?
Nein. Das Widget-Script wird mit defer geladen, d.h. es wird asynchron geladen und blockiert nicht das Rendering. Ihre Seitengeschwindigkeit wird nicht beeinträchtigt.
Schreiben Sie uns unter g.kunze@mukxx.de – wir helfen gern bei der Einbindung in Ihren JTL-Shop.
Nach der Einbindung: Aktiviere im Dashboard unter Trainingsdaten → „Seiten-Kontext“ die Option, damit dein Bot den Inhalt der Seite kennt, auf der dein Besucher gerade ist. So beantwortet er Fragen zu Produkten und Artikeln direkt – und lernt aus diesen Seiten dazu.