JTL Source

Bindet die Produkte Ihres JTL-Shops als dynamische Inhaltsquelle in den YOOtheme-Pro-Seitenersteller ein · Version 1.12.0 · Stand 14.08.2026

JTL Source im Überblick

Was die Erweiterung macht

JTL Source macht die Produkte Ihres JTL-Shops im YOOtheme-Pro-Builder als dynamischen Inhalt verfügbar. Sie bauen Produktlisten und Produktseiten mit den Bordmitteln des Builders — Raster, Karten, Slider — und verbinden die Felder mit den Daten aus dem Shop.

Der Shop bleibt dabei unangetastet. Die Erweiterung liest aus seiner Datenbank; sie schreibt nichts und verändert nichts.

Was aus dem Shop kommt

Zwei Einstiege stehen im Builder zur Auswahl:

Je Produkt stehen unter anderem zur Verfügung: Name, Artikelnummer, Beschreibung und Kurzbeschreibung, Lagerbestand, Anlage- und Änderungsdatum, die Adresse im Shop, Preise, Bilder, Attribute, Variationen und Merkmale. Die Einzelheiten stehen unter Felder und Eigenschaften.

Was Sie dafür brauchen

Liegen Shop und Website auf verschiedenen Servern, muss der Datenbankserver des Shops Verbindungen von außen annehmen. Das ist eine bewusste Entscheidung mit Sicherheitsauswirkungen — lesen Sie dazu Die Shop-Verbindung einrichten.

Wie die Daten auf die Seite kommen

  1. Sie hinterlegen die Zugangsdaten einmalig in den Plugin-Einstellungen.
  2. Im Builder wählen Sie am Element unter der Gruppe Graup-IT eine der beiden Quellen und setzen die Filter.
  3. Beim Aufbau der Seite holt die Erweiterung genau die Produkte, die zu diesen Filtern passen — begrenzt auf die eingestellte Anzahl.
  4. Der Builder setzt die Felder in Ihr Layout ein.

Die Auswahllisten im Builder (Kategorien, Hersteller, Merkmale, Produkte) werden nur dort aufgebaut. Beim normalen Seitenaufruf entfallen sie — das spart bei jedem Aufruf mehrere Abfragen gegen den Shop.

Gilt für Version 1.12.0.

Voraussetzungen und Installation

Voraussetzungen

Die Erweiterung kommt ohne das Kompatibilitäts-Plugin von Joomla aus. Wenn Sie es aus anderen Gründen aktiviert haben, stört das nicht — nötig ist es hier nicht.

Installation

  1. Laden Sie das Installationspaket plg_system_jtlshop-x.y.z.zip aus Ihrem Kundenkonto auf graup-it.de herunter.
  2. Öffnen Sie im Joomla-Backend System → Installieren → Erweiterungen.
  3. Ziehen Sie die ZIP-Datei in das Upload-Feld oder wählen Sie sie über Durchsuchen aus.

Das Plugin wird bei der Erstinstallation automatisch aktiviert. Sie finden es anschließend unter System → Plugins als System - JTL Source.

Nach der Installation erscheint ein Übersichtsfenster mit der installierten Version und den Einstiegen zu Erste Schritte, Download-Schlüssel und Handbuch. Nach einem Update steht an der Stelle von „Erste Schritte" das Änderungsprotokoll.

Das Übersichtsfenster nach einem Update mit Versionsnummer und den Karten Was ist neu, Updates aktivieren und Hilfe

Passt die Umgebung nicht — zu altes Joomla, zu altes PHP —, bricht die Installation mit einer klaren Meldung ab, statt eine Erweiterung zu hinterlassen, die später stillschweigend nicht funktioniert.

Nach der Installation

  1. Richten Sie die Verbindung zum Shop ein und prüfen Sie sie mit der eingebauten Schaltfläche — siehe Die Shop-Verbindung einrichten. Ohne Verbindung bleiben die Quellen im Builder leer.
  2. Leeren Sie den YOOtheme-Zwischenspeicher: YOOtheme → Settings → Advanced → Clear Cache.
  3. Öffnen Sie eine Seite im Builder — in den dynamischen Inhalten erscheint jetzt die Gruppe Graup-IT mit den beiden Quellen.
  4. Hinterlegen Sie Ihren Download-Schlüssel für automatische Updates — siehe Download-Schlüssel und Updates.

Deinstallation

Deinstallieren Sie das Plugin über System → Erweiterungen verwalten. Die Erweiterung legt in Joomla keine eigenen Tabellen an, und am JTL-Shop ändert sie ohnehin nichts. Es bleiben nur die Plugin-Einstellungen zurück, die mit der Deinstallation entfernt werden.

Denken Sie daran, den für die Anbindung angelegten Datenbankbenutzer im Shop ebenfalls zu entfernen, wenn Sie ihn nicht mehr brauchen.

Gilt für Version 1.12.0.

Download-Schlüssel und Updates

JTL Source erhält Updates über den offiziellen Joomla-Update-Mechanismus. Damit Ihre Website die Aktualisierungen abrufen darf, tragen Sie einmalig Ihren persönlichen Download-Schlüssel ein.

Den Download-Schlüssel eintragen

  1. Erzeugen Sie Ihren Download-Schlüssel in Ihrem Kundenkonto auf graup-it.de (Menüpunkt Download-IDs). Ein Schlüssel gilt pro Website und deckt alle darüber bezogenen Erweiterungen ab.
  2. Öffnen Sie im Backend System → Aktualisieren → Update-Quellen.
  3. Öffnen Sie den Eintrag JTL Source Updates und tragen Sie den Schlüssel in das Feld Download-Schlüssel ein.
  4. Speichern.

Achten Sie darauf, den Schlüssel ohne führende oder abschließende Leerzeichen einzufügen. Ein mitkopiertes Leerzeichen führt beim Update zu einer Fehlermeldung („URL rejected" bzw. „Paketdownload fehlgeschlagen").

Updates einspielen

  1. Öffnen Sie System → Aktualisieren → Erweiterungen aktualisieren.
  2. Ist eine neue Version verfügbar, erscheint JTL Source in der Liste. Wählen Sie es aus und klicken Sie auf Aktualisieren.
  3. Joomla lädt das Paket über Ihren Download-Schlüssel, prüft die Prüfsumme und spielt die neue Version ein. Ihre Einstellungen und Ihre Builder-Layouts bleiben dabei erhalten.

Findet Joomla kein Update, obwohl eine neue Version vorliegt, klicken Sie zunächst auf Auf Updates prüfen, um den Zwischenspeicher zu aktualisieren.

Manueller Weg

Sie können jede Version auch manuell installieren: das ZIP herunterladen und wie bei der Erstinstallation über System → Installieren → Erweiterungen einspielen. Ein Update über das Paket überschreibt die vorhandene Installation und erhält Ihre Einstellungen.

Gilt für Version 1.12.0.

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.

Die Quellen im Builder verwenden

Eine Quelle zuweisen

  1. Öffnen Sie die Seite im YOOtheme-Builder.
  2. Wählen Sie das Element, das die Produkte zeigen soll — etwa ein Raster oder eine Kartenliste.
  3. Wechseln Sie im Element auf den Reiter Erweitert. Dort steht das Auswahlfeld Dynamischer Inhalt.
  4. Klappen Sie es auf und gehen Sie zur Gruppe Graup-IT. Wählen Sie JTL Produkte für eine Liste oder JTL Produkt für genau ein Produkt.

Sobald die Quelle gewählt ist, erscheinen darunter ihre Einstellungen:

Das Auswahlfeld Dynamischer Inhalt mit der gewählten Quelle JTL Produkte, darunter die Filter Kategorien, Hersteller und Merkmale sowie Start, Anzahl, Sortierung, Richtung und der Schalter für nur aktive Produkte

Danach ordnen Sie den Feldern des Elements die Felder der Quelle zu — Titel auf name, Bild auf main_image und so weiter. Welche Felder es gibt, steht unter Felder und Eigenschaften.

JTL Produkte

Diese Quelle liefert mehrere Produkte. Alle Filter lassen sich kombinieren; leere Filter schränken nicht ein.

KategorienMehrfachauswahl aus den Kategorien des Shops. Ausgegeben werden nur Produkte, die einer der gewählten Kategorien angehören.
HerstellerMehrfachauswahl aus den Herstellern.
MerkmaleMehrfachauswahl aus den Merkmalswerten. Angezeigt wird jeweils Merkmal: Wert (Anzahl Produkte); Merkmalswerte ohne Produkte erscheinen erst gar nicht.
StartWie viele Produkte übersprungen werden. Vorgabe 0.
AnzahlWie viele Produkte höchstens geliefert werden. Vorgabe 10.
SortierungProduktname, Artikelnummer, Preis oder Hinzugefügt am.
RichtungAufsteigend oder absteigend.
Nur sichtbare ProdukteBlendet Produkte aus, die im Shop für die eingestellte Kundengruppe gesperrt sind. Für öffentliche Seiten empfohlen. Vorgabe: an.

Was „sichtbar" hier bedeutet. JTL kennt kein Aktiv-Kennzeichen am Artikel. Wer einen Artikel in der Warenwirtschaft für diesen Shop abwählt, dessen Datensatz löscht der nächste Abgleich aus der Shop-Datenbank — solche Produkte kann die Erweiterung also gar nicht mehr finden. Was der Shop dagegen führt, ist eine Sperre je Kundengruppe: Das Produkt bleibt in der Datenbank, wird aber einzelnen Kundengruppen nicht gezeigt. Genau darauf filtert dieser Schalter, und zwar gegen die Kundengruppe aus den Plugin-Optionen.

Ihr Lesebenutzer braucht dafür SELECT auf tartikelsichtbarkeit. Fehlt die Tabelle oder das Recht, liefert die Erweiterung die Produkte weiterhin aus — dann aber ungefiltert, mit einem Hinweis im Joomla-Backend und im Protokoll.

Produkte mit einem in der Zukunft liegenden Erscheinungsdatum bleiben sichtbar. Das entspricht dem Shop, der solche Artikel ebenfalls zeigt und als demnächst erscheinend kennzeichnet.

Setzen Sie die Anzahl bewusst. Jedes Produkt zieht beim Aufbau der Seite weitere Abfragen für Preise, Bilder, Attribute und Varianten nach sich — und die laufen gegen eine entfernte Datenbank. Eine Liste mit 200 Produkten ist spürbar langsamer als eine mit 12.

Suche

Die Quelle kennt zusätzlich einen Suchbegriff, der Produktname, Beschreibung und Artikelnummer durchsucht. In der Maske gibt es dafür kein Eingabefeld — der Wert wird über die dynamischen Parameter von YOOtheme gesetzt, etwa aus einem URL-Parameter. Für eine fest eingestellte Liste brauchen Sie ihn nicht.

JTL Produkt

Diese Quelle liefert genau ein Produkt. Sie wählen es im Feld Produkt aus einer Liste, die Artikelnummer – Produktname zeigt und nach Artikelnummer sortiert ist.

Die Liste ist auf 500 Produkte begrenzt. Hat Ihr Shop mehr, ist das gesuchte Produkt unter Umständen nicht dabei — bauen Sie die Seite dann über JTL Produkte mit einem Filter auf.

Sortierung und Reihenfolge

Die Sortierung nach Preis greift auf den Nettopreis des Shops zu. Produkte ohne hinterlegten Preis können dabei je nach Datenlage vorn oder hinten einsortiert werden — wenn die Reihenfolge wichtig ist, prüfen Sie das Ergebnis mit echten Daten.

Die Auswahllisten bleiben leer

Kategorien, Hersteller, Merkmale und die Produktliste werden nur in der Builder-Oberfläche aufgebaut, nicht beim normalen Seitenaufruf — das spart bei jedem Aufruf mehrere Abfragen gegen den Shop. Sind sie leer, steht in aller Regel die Datenbankverbindung nicht: Prüfen Sie sie in den Plugin-Einstellungen mit Datenbankverbindung testen.

Änderungen im Shop erscheinen nicht sofort

YOOtheme speichert erzeugte Seiten zwischen. Nach Änderungen im Shop leeren Sie den Zwischenspeicher unter YOOtheme → Settings → Advanced → Clear Cache. Dasselbe gilt, wenn Sie im Shop neue Kategorien oder Hersteller angelegt haben und sie in den Auswahllisten des Builders noch fehlen.

Gilt für Version 1.12.0.

Felder und Eigenschaften

Diese Seite listet die Felder, die beide Quellen liefern. Im Builder ordnen Sie sie den Bestandteilen Ihres Elements zu.

Produkt

idInterne Kennung des Produkts im Shop. Eindeutig, aber nicht für Besucher gedacht.
nameProduktname.
article_noArtikelnummer, wie im Shop gepflegt.
descriptionAusführliche Beschreibung, enthält HTML aus dem Shop.
short_descriptionKurzbeschreibung.
stockLagerbestand als Zahl.
in_stockJa/Nein — für Bedingungen im Builder bequemer als der Zahlenwert.
seo_urlSprechende Adresse des Produkts, relativ zum Shop.
shop_urlVollständige Adresse des Produkts im Shop — aus der Shop-Basis-URL zusammengesetzt. Das Feld für „Zum Produkt"-Verweise.
created_atAnlagedatum.
updated_atDatum der letzten Änderung.
main_imageDas erste Bild des Produkts — für Karten und Raster der Normalfall.
pricePreisangaben, siehe unten.
imagesAlle Bilder als Liste, mit Angabe einer Höchstzahl.
attributesAttribute als Liste.
variationsVarianten als Liste.
merkmaleMerkmale als Liste.

description enthält die Auszeichnung aus dem Shop. Wenn Ihr Element den Text maskiert ausgibt, sehen Besucher die HTML-Marken. Verwenden Sie in dem Fall ein Element, das HTML zulässt, oder short_description.

Preis

price_netNettopreis als Zahl.
price_grossBruttopreis als Zahl.
formatted_netNettopreis als fertige Zeichenkette mit Währung.
formatted_grossBruttopreis als fertige Zeichenkette mit Währung.
rrpUnverbindliche Preisempfehlung, sofern im Shop gepflegt.
has_discountJa/Nein — ob der Preis unter der Preisempfehlung liegt.
currencyWährungskürzel aus den Plugin-Einstellungen.

Zur Preisanzeige: Welcher Preis im Shop tatsächlich gilt, hängt von Kundengruppe, Staffeln und Aktionen ab. Diese Erweiterung liest den hinterlegten Standardpreis. Wenn Ihr Shop mit kundengruppenabhängigen Preisen arbeitet, prüfen Sie, ob die Anzeige auf der Website dazu passt — und weisen Sie gegebenenfalls darauf hin, dass der Preis im Shop maßgeblich ist.

Bild

idKennung des Bildes.
sort_orderReihenfolge, wie im Shop gepflegt.
url_small, url_medium, url_largeDie drei Größen, die JTL erzeugt — jeweils als vollständige Adresse.

Alle drei Adressen werden aus der Shop-Basis-URL zusammengesetzt. Ist sie nicht gesetzt, zeigen die Bilder ins Leere.

Attribut

idKennung des Attributs.
nameBezeichnung — in der Sprache aus den Plugin-Einstellungen, sofern übersetzt.
valueWert.
formattedBezeichnung und Wert als fertige Zeichenkette.

Variante

idKennung der Variante.
article_noArtikelnummer der Variante.
stockLagerbestand der Variante.
in_stockJa/Nein.

Merkmal

merkmal_id, merkmal_nameKennung und Bezeichnung des Merkmals, etwa „Farbe".
wert_id, wert_nameKennung und Bezeichnung des Wertes, etwa „Blau".
sort_orderReihenfolge aus dem Shop.

Merkmale sind in JTL optional. Nutzt Ihr Shop sie nicht, bleiben die Felder leer und die Auswahlliste im Builder ist leer — das ist kein Fehler.

Gilt für Version 1.12.0.

Häufige Fragen und Fehlerbehebung

Die Quellen erscheinen nicht im Builder

  1. Ist das Plugin unter System → Plugins aktiviert?
  2. Ist YOOtheme Pro als Site-Template aktiv? Ohne YOOtheme bleibt das Plugin wirkungslos — das ist beabsichtigt.
  3. Leeren Sie den YOOtheme-Zwischenspeicher: YOOtheme → Settings → Advanced → Clear Cache.
  4. Suchen Sie unter Dynamic Content nach der Gruppe Graup-IT.

Der Builder lässt sich gar nicht mehr öffnen

Zeigt der Builder statt der Seite eine Fehlermeldung mit mysqli object is not fully initialized, dann laufen Sie in einen Fehler der Versionen bis 1.10.4: Eine nicht erreichbare Shop-Datenbank riss dort den gesamten Builder mit — auch auf Seiten ohne Shop-Inhalte.

Ab Version 1.10.5 bleiben in diesem Fall nur die Auswahllisten leer, der Builder arbeitet weiter. Aktualisieren Sie auf 1.10.5 oder neuer. Kommen Sie an die Plugin-Einstellungen nicht mehr heran, deaktivieren Sie das Plugin vorübergehend unter System → Plugins; danach lässt sich der Builder wieder öffnen.

Die Quellen sind da, aber die Auswahllisten sind leer

Das ist fast immer die Datenbankverbindung. Öffnen Sie die Plugin-Einstellungen und benutzen Sie Datenbankverbindung testen. Die Prüfung sagt Ihnen genau, woran es liegt.

„Die Shopdaten sind derzeit nicht verfügbar"

Diese Meldung erscheint im Frontend, wenn der Zugriff auf den Shop scheitert. Der genaue Wortlaut steht bewusst nicht dort, sondern im Joomla-Protokoll: Die Meldung der Datenbank nennt Serveradresse, Benutzernamen und Schemanamen, und das geht Besucher nichts an.

Im Backend sehen Sie den vollständigen Wortlaut. Alternativ finden Sie ihn im Protokoll unter plg_system_jtlshop.

Die Bilder werden nicht angezeigt

Prüfen Sie die Shop-Basis-URL in den Plugin-Einstellungen. Ist sie leer, setzt die Erweiterung die Bildadressen aus der Adresse Ihrer Joomla-Website zusammen — dort liegen die Bilder aber nicht. Tragen Sie die Adresse des Shops ein, ohne abschließenden Schrägstrich.

Attributnamen erscheinen nicht übersetzt

Die übersetzten Bezeichnungen werden für die Sprache gelesen, die unter Standardsprache eingetragen ist — Vorgabe ger. Bei einem englischsprachigen Shop tragen Sie dort eng ein.

Die Seite baut sich langsam auf

Jedes Produkt zieht weitere Abfragen für Preise, Bilder, Attribute und Varianten nach sich, und diese laufen gegen eine entfernte Datenbank — jede Abfrage kostet Netzwerkzeit.

Verändert die Erweiterung etwas im Shop?

Nein. Sie liest ausschließlich. Legen Sie trotzdem einen Datenbankbenutzer an, der nur lesen darf — siehe Die Shop-Verbindung einrichten. Dann ist es nicht nur so gemeint, sondern auch erzwungen.

Ist das Passwort sicher gespeichert?

Nein — Joomla speichert Plugin-Einstellungen unverschlüsselt. Das Feld ist im Formular verdeckt, in der Datenbank steht es im Klartext. Deshalb die Empfehlung, einen eigenen Lesebenutzer zu verwenden: Dann ist das, was dort steht, nur für Lesezugriffe brauchbar.

Brauche ich das Joomla-Kompatibilitäts-Plugin?

Nein. Die Erweiterung verwendet ausschließlich Schnittstellen, die Joomla 6 ohne dieses Plugin bereitstellt.

Funktioniert die Erweiterung mit Joomla 5?

Nein. Ab Version 1.10.0 werden Joomla 6 und PHP 8.2 vorausgesetzt. Auf älteren Installationen bricht die Installation mit einem Hinweis ab.

Ich nutze noch 1.9.8 — muss ich aktualisieren?

Ja. In 1.9.8 war die Verbindungsprüfung ohne Anmeldung erreichbar. Ein Besucher konnte die Website darüber als Netzwerksonde benutzen und prüfen, ob auf einem beliebigen Rechner ein Datenbankdienst läuft. Version 1.10.0 verlangt ein gültiges Sitzungstoken und das Recht, Erweiterungen zu verwalten.

Gilt für Version 1.12.0.

Änderungsprotokoll

Dieses Änderungsprotokoll listet alle veröffentlichten Versionen von JTL Source, die neueste zuerst.

Diese Seite wird beim Release automatisch aus der Änderungsdatei des Produkts erzeugt. Änderungen von Hand gehen beim nächsten Abgleich verloren.

Version 1.12.0 – 14.08.2026

Hinzugefügt

Geändert

Behoben

Hinweise

Version 1.11.0 – 14.08.2026

Hinzugefügt

Geändert

Behoben

Hinweise

Version 1.10.5 – 14.08.2026

Geändert

Behoben

Version 1.10.4 – 12.08.2026

Geändert

Version 1.10.3 – 01.08.2026

Behoben

Version 1.10.2 – 01.08.2026

Geändert

Version 1.10.1 – 01.08.2026

Behoben

Version 1.10.0 – 31.07.2026

Sicherheit

Hinzugefügt

Geändert

Behoben

Version 1.9.8 – 06.06.2026

Hinweise