JTL Source Bindet die Produkte Ihres JTL-Shops als dynamische Inhaltsquelle in den YOOtheme-Pro-Seitenersteller ein · Version 1.10.4 · Stand 12.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: JTL Produkte: mehrere Produkte, gefiltert nach Kategorien, Herstellern, Merkmalen oder einem Suchbegriff, mit Sortierung, Startpunkt und Anzahl. JTL Produkt: genau ein Produkt, ausgewählt aus einer Liste. 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 Einen JTL-Shop mit MySQL-Datenbank Netzwerkzugang von Ihrem Joomla-Server zu dieser Datenbank Zugangsdaten für einen Datenbankbenutzer — am besten einen eigenen, der nur lesen darf Joomla 6 und PHP 8.2 YOOtheme Pro als aktives Template 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 Sie hinterlegen die Zugangsdaten einmalig in den Plugin-Einstellungen. Im Builder wählen Sie am Element unter der Gruppe Graup-IT eine der beiden Quellen und setzen die Filter. Beim Aufbau der Seite holt die Erweiterung genau die Produkte, die zu diesen Filtern passen — begrenzt auf die eingestellte Anzahl. 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.10.4. Voraussetzungen und Installation Voraussetzungen Joomla: 6.0 oder neuer PHP: 8.2 oder neuer, mit der Erweiterung mysqli YOOtheme Pro: installiert und als Site-Template aktiv JTL-Shop mit erreichbarer MySQL-Datenbank 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 Laden Sie das Installationspaket plg_system_jtlshop-x.y.z.zip aus Ihrem Kundenkonto auf graup-it.de herunter. Öffnen Sie im Joomla-Backend System → Installieren → Erweiterungen. 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. 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 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. Leeren Sie den YOOtheme-Zwischenspeicher: YOOtheme → Settings → Advanced → Clear Cache. Öffnen Sie eine Seite im Builder — in den dynamischen Inhalten erscheint jetzt die Gruppe Graup-IT mit den beiden Quellen. 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.10.4. 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 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. Öffnen Sie im Backend System → Aktualisieren → Update-Quellen. Öffnen Sie den Eintrag JTL Source Updates und tragen Sie den Schlüssel in das Feld Download-Schlüssel ein. 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 Öffnen Sie System → Aktualisieren → Erweiterungen aktualisieren. Ist eine neue Version verfügbar, erscheint JTL Source in der Liste. Wählen Sie es aus und klicken Sie auf Aktualisieren. 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.10.4. 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.tartikelattribut TO 'joomla_lesen'@'203.0.113.10'; GRANT SELECT ON jtlshop.tartikelattributsprache 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.tartikelvariante 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'; FLUSH PRIVILEGES; 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-Host Adresse des Datenbankservers. Liegt der Shop auf demselben Server, meist localhost. Datenbankname Name des Schemas, etwa jtlshop. Datenbank-Benutzer Der eben angelegte Lesebenutzer. Datenbank-Passwort Wird im Formular verdeckt angezeigt. Zur Speicherung siehe unten. Tabellen-Präfix Vorgabe t. Datenbank-Port Vorgabe 3306. Die Verbindung prüfen Über dem ersten Feld liegt die Schaltfläche Datenbankverbindung testen. Sie prüft, ohne zu speichern: ob die Verbindung mit diesen Daten zustande kommt, welche MySQL-Version antwortet, wie viele Tabellen mit Ihrem Präfix vorhanden sind, und ob eine der acht Tabellen fehlt, ohne die eine Anbindung sinnlos wäre. 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-URL Adresse 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ährung Währungskürzel für die Preisausgabe, Vorgabe EUR. Standardsprache ISO-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. 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: Den Benutzer an die IP-Adresse Ihres Joomla-Servers binden — genau das bewirkt der Teil @'203.0.113.10' oben. Port 3306 in der Firewall nur für diese eine Adresse öffnen. Wenn möglich, die Verbindung über ein VPN oder einen SSH-Tunnel führen statt über das offene Netz. Gilt für Version 1.10.4. Die Quellen im Builder verwenden Eine Quelle zuweisen Öffnen Sie die Seite im YOOtheme-Builder. Wählen Sie das Element, das die Produkte zeigen soll — etwa ein Raster oder eine Kartenliste. Wechseln Sie im Element auf den Reiter Erweitert. Dort steht das Auswahlfeld Dynamischer Inhalt. 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: 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. Kategorien Mehrfachauswahl aus den Kategorien des Shops. Ausgegeben werden nur Produkte, die einer der gewählten Kategorien angehören. Hersteller Mehrfachauswahl aus den Herstellern. Merkmale Mehrfachauswahl aus den Merkmalswerten. Angezeigt wird jeweils Merkmal: Wert (Anzahl Produkte); Merkmalswerte ohne Produkte erscheinen erst gar nicht. Start Wie viele Produkte übersprungen werden. Vorgabe 0. Anzahl Wie viele Produkte höchstens geliefert werden. Vorgabe 10. Sortierung Produktname, Artikelnummer, Preis oder Hinzugefügt am. Richtung Aufsteigend oder absteigend. Nur aktive Produkte Blendet im Shop deaktivierte Produkte aus. Für öffentliche Seiten empfohlen. 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.10.4. Felder und Eigenschaften Diese Seite listet die Felder, die beide Quellen liefern. Im Builder ordnen Sie sie den Bestandteilen Ihres Elements zu. Produkt id Interne Kennung des Produkts im Shop. Eindeutig, aber nicht für Besucher gedacht. name Produktname. article_no Artikelnummer, wie im Shop gepflegt. description Ausführliche Beschreibung, enthält HTML aus dem Shop. short_description Kurzbeschreibung. stock Lagerbestand als Zahl. in_stock Ja/Nein — für Bedingungen im Builder bequemer als der Zahlenwert. seo_url Sprechende Adresse des Produkts, relativ zum Shop. shop_url Vollständige Adresse des Produkts im Shop — aus der Shop-Basis-URL zusammengesetzt. Das Feld für „Zum Produkt"-Verweise. created_at Anlagedatum. updated_at Datum der letzten Änderung. main_image Das erste Bild des Produkts — für Karten und Raster der Normalfall. price Preisangaben, siehe unten. images Alle Bilder als Liste, mit Angabe einer Höchstzahl. attributes Attribute als Liste. variations Varianten als Liste. merkmale Merkmale 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_net Nettopreis als Zahl. price_gross Bruttopreis als Zahl. formatted_net Nettopreis als fertige Zeichenkette mit Währung. formatted_gross Bruttopreis als fertige Zeichenkette mit Währung. rrp Unverbindliche Preisempfehlung, sofern im Shop gepflegt. has_discount Ja/Nein — ob der Preis unter der Preisempfehlung liegt. currency Wä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 id Kennung des Bildes. sort_order Reihenfolge, wie im Shop gepflegt. url_small, url_medium, url_large Die 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 id Kennung des Attributs. name Bezeichnung — in der Sprache aus den Plugin-Einstellungen, sofern übersetzt. value Wert. formatted Bezeichnung und Wert als fertige Zeichenkette. Variante id Kennung der Variante. article_no Artikelnummer der Variante. stock Lagerbestand der Variante. in_stock Ja/Nein. Merkmal merkmal_id, merkmal_name Kennung und Bezeichnung des Merkmals, etwa „Farbe". wert_id, wert_name Kennung und Bezeichnung des Wertes, etwa „Blau". sort_order Reihenfolge 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.10.4. Häufige Fragen und Fehlerbehebung Die Quellen erscheinen nicht im Builder Ist das Plugin unter System → Plugins aktiviert? Ist YOOtheme Pro als Site-Template aktiv? Ohne YOOtheme bleibt das Plugin wirkungslos — das ist beabsichtigt. Leeren Sie den YOOtheme-Zwischenspeicher: YOOtheme → Settings → Advanced → Clear Cache. Suchen Sie unter Dynamic Content nach der Gruppe Graup-IT. 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. Verbindung schlägt fehl: Host, Benutzer, Passwort oder Port prüfen. Bei einem anderen Server: Nimmt der MySQL-Server Verbindungen von außen an, und ist der Benutzer für die IP-Adresse Ihres Joomla-Servers freigegeben? Verbindung steht, aber Tabellen werden vermisst: Das Tabellen-Präfix stimmt nicht. Vorgabe ist t. Alles grün, Listen trotzdem leer: Leeren Sie den YOOtheme-Zwischenspeicher — die Listen werden mit dem Builder-Schema zwischengespeichert. „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. Setzen Sie die Anzahl so niedrig wie möglich. Ordnen Sie nur die Felder zu, die Sie wirklich anzeigen. Listen wie images, attributes oder variations werden nur geholt, wenn sie im Layout vorkommen. Nutzen Sie den YOOtheme-Zwischenspeicher, statt ihn abzuschalten. Liegen Shop und Website weit auseinander, ist die Netzwerklaufzeit die Untergrenze. Ein Server näher am Shop hilft mehr als jede Einstellung. 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.10.4. Ä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.10.4 – 12.08.2026 Geändert Eine mitgelieferte Datei nannte noch die Lizenzversion 2. Überall steht jetzt einheitlich die GNU General Public License Version 3 oder später. Version 1.10.3 – 01.08.2026 Behoben Der Link „Handbuch öffnen" im Übersichtsfenster zeigte auf eine Adresse, die es nach der Umbenennung nicht mehr gibt. Version 1.10.2 – 01.08.2026 Geändert Die Erweiterung heißt im Erweiterungs-Manager jetzt „System - JTL Source". An Funktion und Einstellungen ändert sich nichts. Version 1.10.1 – 01.08.2026 Behoben Neue Versionen erschienen nicht im Erweiterungs-Manager: Die Anmeldung beim Update-Server fehlte im Paket. Version 1.10.0 ist dafür einmalig von Hand zu aktualisieren. Version 1.10.0 – 31.07.2026 Sicherheit Die Verbindungsprüfung in den Einstellungen war 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. Die Prüfung verlangt jetzt ein gültiges Sitzungstoken und das Recht, Erweiterungen zu verwalten. Die Sortierrichtung einer Artikelliste wurde ungeprüft übernommen. Sie stammt jetzt aus einer festen Liste. Meldungen der Shopdatenbank erschienen auf der Website und nannten dabei Serveradresse, Benutzername und Datenbanknamen. Besucher sehen jetzt einen neutralen Hinweis, der Wortlaut steht im Protokoll. Hinzugefügt Die Sprache der Artikeldaten lässt sich jetzt einstellen. Bisher war sie fest auf Deutsch, sodass übersetzte Attributnamen in anderssprachigen Shops nicht gefunden wurden. Nach Installation und Update erscheint ein Übersichtsfenster mit Version, Status und Einstiegen zu Erste Schritte, Download-Schlüssel und Handbuch. Das Plugin wird bei der Erstinstallation automatisch aktiviert. Die Erweiterung meldet sich beim Update-Server: Neue Versionen erscheinen künftig direkt im Erweiterungs-Manager. Der Erweiterungs-Manager zeigt hinter der Versionsnummer die Liste der Änderungen. Der vollständige Lizenztext liegt jetzt bei; bisher wurde keiner ausgeliefert, obwohl darauf verwiesen wurde. Geändert Beim Aufbau einer Seite liefen bisher bis zu vier Abfragen gegen den Shop, deren Ergebnis nur die Baukasten-Oberfläche braucht. Sie entfallen im Seitenbetrieb. Die Erweiterung steht unter der GNU General Public License Version 3 oder später. Innerer Umbau auf das aktuelle Joomla-Erweiterungsmuster. Für die Bedienung ändert sich nichts. Die Erweiterung setzt Joomla 6 und PHP 8.2 voraus und läuft ohne das Kompatibilitäts-Plugin. Ältere Installationen bricht das Installationsskript mit einer klaren Meldung ab. Behoben Eine Artikelsuche nach Begriffen mit Sonderzeichen blieb ohne Treffer. 35 Beschriftungen erschienen für nicht-deutsche Kunden als roher Textbaustein, etwa „PLG_SYSTEM_JTLSHOP_STOCK" statt „Stock level". Sie liegen jetzt auf Englisch vor. Vier Optionsbeschriftungen fehlten umgekehrt auf Deutsch. Eine Beschriftung war doppelt hinterlegt; die zweite überschrieb stillschweigend die erste. Version 1.9.8 – 06.06.2026 Hinweise Stand vor der Aufnahme in die gemeinsame Werkstatt. Das frühere Änderungsprotokoll reichte nur bis 1.5.3 und ist unverändert aufbewahrt.