Die Shop-Verbindung einrichten

Die Verbindung richten Sie einmalig unter System → Plugins im Eintrag System - JTL Source ein. Die Einstellungen liegen in zwei Reitern: JTL Shop Datenbank und Plugin-Optionen.

Zuerst: einen eigenen Datenbankbenutzer anlegen

Verwenden Sie nicht den Datenbankbenutzer des Shops. Legen Sie im Shop-Datenbankserver einen eigenen Benutzer an, der ausschließlich lesen darf. Die Erweiterung schreibt nie — ein Benutzer mit Schreibrechten wäre also ein Risiko ohne Gegenwert.

Ein Beispiel für MySQL. Ersetzen Sie Schemanamen, Benutzernamen, Passwort und die Adresse, von der aus zugegriffen wird:

CREATE USER 'joomla_lesen'@'203.0.113.10' IDENTIFIED BY 'ein-langes-passwort';
GRANT SELECT ON jtlshop.tartikel                     TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tartikelmerkmal              TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tartikelpict                 TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tartikelsichtbarkeit         TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tattribut                    TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tattributsprache             TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.teigenschaft                 TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.teigenschaftsichtbarkeit     TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.teigenschaftsprache          TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.teigenschaftwert             TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.teigenschaftwertaufpreis     TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.teigenschaftwertpict         TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.teigenschaftwertsichtbarkeit TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.teigenschaftwertsprache      TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.thersteller                  TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tkategorie                   TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tkategorieartikel            TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tmerkmal                     TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tmerkmalwert                 TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tmerkmalwertsprache          TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tpreis                       TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tpreisdetail                 TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tsprache                     TO 'joomla_lesen'@'203.0.113.10';
FLUSH PRIVILEGES;

Ab Version 1.12.0 stehen hier andere Tabellen als vorher. Die Liste nannte bis 1.11.0 zwei Namen, die es im JTL Shop nicht gibt — die Erweiterung fragte sie ab, und die Felder Attribute und Varianten blieben deshalb immer leer. Wer die Rechte einzeln vergeben hat, vergibt die neuen bitte nach. Wer GRANT SELECT ON jtlshop.* benutzt hat, muss nichts tun.

Das t am Anfang der Tabellennamen ist das übliche JTL-Präfix. Weicht Ihres ab, passen Sie die Namen an — und tragen Sie es unten im Feld Tabellen-Präfix ein.

Wer es einfacher haben will, vergibt GRANT SELECT ON jtlshop.* . Das ist großzügiger als nötig, aber immer noch deutlich besser als ein Benutzer mit Schreibrechten.

Reiter „JTL Shop Datenbank"

Datenbank-HostAdresse des Datenbankservers. Liegt der Shop auf demselben Server, meist localhost.
DatenbanknameName des Schemas, etwa jtlshop.
Datenbank-BenutzerDer eben angelegte Lesebenutzer.
Datenbank-PasswortWird im Formular verdeckt angezeigt. Zur Speicherung siehe unten.
Tabellen-PräfixVorgabe t.
Datenbank-PortVorgabe 3306.

Die Verbindung prüfen

Über dem ersten Feld liegt die Schaltfläche Datenbankverbindung testen. Sie prüft, ohne zu speichern:

Der Reiter JTL Shop Datenbank mit der Schaltfläche Datenbankverbindung testen und der Rückmeldung: Verbindung erfolgreich, Datenbank jtlshop_demo (MySQL 8.4.3), 8 Tabellen gefunden

Werden fehlende Tabellen gemeldet, stimmt in aller Regel das Präfix nicht.

Die Prüfung ist nur für angemeldete Benutzer mit dem Recht, Erweiterungen zu verwalten, erreichbar. Bis Version 1.9.8 war sie ohne Anmeldung aufrufbar — ein weiterer Grund, auf 1.10.0 zu aktualisieren.

Reiter „Plugin-Optionen"

Shop Basis-URLAdresse des Shops, etwa https://shop.example.de. Daraus werden die Bild- und Artikeladressen zusammengesetzt. Bleibt das Feld leer, wird die Adresse der Joomla-Website verwendet — und die Bilder gehen ins Leere.
Standard-WährungWährungskürzel für die Preisausgabe, Vorgabe EUR.
StandardspracheISO-Kürzel der Sprache, in der die Artikeldaten geführt werden, Vorgabe ger. Steuert, welche übersetzten Attributnamen gelesen werden. Bei einem englischsprachigen Shop etwa eng.
KundengruppeAus Sicht dieser Kundengruppe liest die Website den Shop, Vorgabe 1. Sie bestimmt zweierlei: welcher Preis ausgegeben wird und welche Produkte als sichtbar gelten. In den meisten Shops ist 1 die Standardgruppe — welche es bei Ihnen ist, sehen Sie im Shop-Backend unter Kunden → Kundengruppen.

Der Reiter Plugin-Optionen mit den Feldern Shop Basis-URL, Standard-Währung und Standardsprache

Wo das Passwort landet

Joomla speichert Plugin-Einstellungen unverschlüsselt in der eigenen Datenbank. Das gilt auch für dieses Passwort — Joomla bietet für Plugin-Parameter nichts anderes an, und keine Erweiterung kann daran etwas ändern.

Daraus folgt die Empfehlung oben: ein eigener Benutzer, der ausschließlich lesen darf. Dann ist der Schaden begrenzt, falls jemand an die Joomla-Datenbank kommt.

Verbindung von außen

Liegen Shop und Website auf verschiedenen Servern, muss der MySQL-Server des Shops Verbindungen von außen annehmen. Grenzen Sie das so weit wie möglich ein:

Gilt für Version 1.12.0.


Revision #7
Created 2026-08-01 06:58:29 UTC by Norbert Graup
Updated 2026-08-14 20:24:32 UTC by Norbert Graup