JTL-PLUGIN-ENTWICKLUNG

JTL-Plugin-Entwicklung — im Quellcode nachgelesen, nicht vermutet.

Ich entwickle Plugins und OnPage-Composer-Bausteine für JTL-Shop 5 und Werkzeuge für JTL-Wawi. Jede Regel, auf die sich eine Erweiterung verlässt, lese ich im Quellcode von JTL nach, bevor ich darauf baue. Und nichts erreicht Ihre Kunden, bevor es geprüft ist — an einer Kopie des Shops oder in einer abgeschirmten Vorschau.

WARUM DAS ZÄHLT

Die teuersten Fehler in Shop-Erweiterungen melden sich nicht.

Ein Farbfeld, das sich einstellen lässt, aber nicht speichert. Eine Vorbestellung, die unmittelbar vor dem Bestellabschluss aus dem Warenkorb entfernt wird. Ein Stylesheet, das unter einem Template ausgeliefert wird und unter dem nächsten nicht. Keiner dieser Fehler hinterlässt eine Zeile im Fehlerprotokoll. Alle drei sind mir beim Bauen begegnet — und alle drei stehen genau so im Quellcode von JTL.

Deshalb arbeite ich andersherum als üblich: erst nachlesen, wie der Shop an der Stelle wirklich entscheidet, dann bauen. Was ich dabei finde, halte ich fest — in der Dokumentation des Plugins und, wo es anderen hilft, in den Werkstattberichten weiter unten.

WAS ICH BAUE

Erweiterungen für JTL-Shop und JTL-Wawi

Plugins für den Bestellweg

Eingriffe in Warenkorb, Bestand und Bestellung — dort, wo der Shop nur an oder aus kennt. Beispiel: Vorbestellungen, begrenzt auf die Menge, die beim Lieferanten bestellt ist.

OnPage-Composer-Bausteine

Eigene Bausteine, die Ihre Redaktion im OnPage Composer auf die Seite zieht — statt Abschnitten, die fest im Template stecken. Das Template bleibt unangetastet und damit update-fähig.

Pflichtangaben ohne Template-Eingriff

Rechtliche Anforderungen wie die EU-Gewährleistungsmitteilung, eingebaut über Bausteine und die Schnittstellen des Shops — ohne eine Datei des Templates zu ändern.

Sicherung und Updates

Sichern und Wiederherstellen bis hinunter auf ein einzelnes Plugin. Und ein Prüfstand, der ein Shop-Update vorher an einer Kopie durchspielt.

Auswertungen für JTL-Wawi

Bestands- und Dispositionsberatung und die PPWR-Verpackungsmeldung — gerechnet aus den Daten, die in Ihrer Wawi ohnehin stehen.

Dokumentation, die stimmt

Jede Einstellung ist im Backend erklärt, jedes Plugin dokumentiert. Und in der Dokumentation steht auch, was ausdrücklich nicht geprüft werden konnte.

ONPAGE COMPOSER

Fünfzehn Bausteine statt einer fest verdrahteten Startseite.

Beim Relaunch eines JTL-Shops steckte die Startseite in Vorlagen des Templates: Wer ein Motiv tauschen wollte, brauchte einen Entwickler, und ein Update des Basis-Templates konnte die angepassten Blöcke brechen. Daraus ist ein Plugin mit fünfzehn Bausteinen geworden — von der Bühne mit Bild oder Video über Themenwelten, Kategoriekacheln und Angebote bis zu einem Baustein, der eine Produktart mit ihren Baureihen erklärt. Dazu Einstellungen für Kopfbereich und Navigation.

Die Redaktion zieht die Bausteine im OnPage Composer auf die Seite und stellt Texte, Bilder und Farben selbst ein. Gebaut wurde im laufenden Shop, als Vorschau-Design — mit zwei voneinander unabhängigen Sperren, damit kein Besucher etwas davon sieht, bevor es fertig ist.

Alle fünfzehn Bausteine und was der Quellcode über sie verrät →

GEMESSEN, NICHT BEHAUPTET

Was bisher entstanden ist

4

Plugins für JTL-Shop. Zwei davon laufen produktiv auf zwei Shops, zwei sind für einen Relaunch und für die EU-Pflichtangaben entstanden.

15

Bausteine für den OnPage Composer in einem Plugin, dazu zwei weitere für die Gewährleistungsmitteilung und das Garantielabel.

14.000

Zeilen Code allein im Bausteine-Plugin — PHP, Vorlagen, Stylesheets und Skripte.

79

geprüfte Zwischenstände der Bausteine zwischen dem 3. und 14. September 2026.

41

Seiten Praxisleitlinien der EU-Kommission ausgewertet, bevor das Gewährleistungslabel seine endgültige Form bekam.

0

geänderte Dateien im Template des Shops — in allen vier Plugins.

Gezählt an den Plugin-Paketen; Aussagen über JTL-Shop geprüft am Quellcode der Version 5.7.2 aus JTLs öffentlichem Repository, September 2026.

PFLICHTANGABE

Ab 27. September 2026: die EU-Gewährleistungs­mitteilung.

Wer an Verbraucher verkauft, muss ab diesem Tag mit einer amtlichen Mitteilung der EU auf die gesetzliche Gewährleistung hinweisen. Gibt der Hersteller eine Garantie über zwei Jahre hinaus, kommt ein eigenes Label dazu. JTL-Shop bringt beides ab Version 5.8 selbst mit.

Für Shops, die bewusst auf 5.7 bleiben, habe ich es als Plugin gebaut: zwei Bausteine, die amtlichen Dateien der Kommission unverändert, keine Datei des Templates angefasst.

Was die Leitlinien verlangen und wo der OnPage Composer an Grenzen stößt →

SO ARBEITE ICH

Nachlesen, messen, bauen, prüfen.

Nachlesen, nicht raten

Wo der Shop entscheidet — ob ein Artikel kaufbar ist, welche Feldnamen der OnPage Composer selbst belegt, wann ein Hook greift —, lese ich im Quellcode nach. Die Dokumentation sagt, was gedacht war. Der Code sagt, was passiert.

Am echten Shop messen

Welches Template ist aktiv, wie stehen die Einstellungen, wie sind die Artikel in der Wawi gepflegt? Das messe ich lesend, bevor ich baue. Annahmen über einen fremden Shop sind die häufigste Fehlerquelle.

Die harmlose Richtung wählen

Jede Erweiterung kann ausfallen. Entscheidend ist, was dann passiert. Fehlt der Vorbestellung ein gültiger Lizenzschlüssel, gibt sie keine neuen Vorbestellungen frei — der Shop verkauft normal weiter. Ist das Vorschau-Design nicht aktiv, greift keine einzige Regel des neuen Kopfbereichs, statt im Live-Shop am falschen Ort zu wirken.

Prüfen, bevor Kunden es sehen

An einer Kopie des Shops oder in einer abgeschirmten Vorschau. Die Proben stehen mit ihrem Ergebnis in der Dokumentation — und ebenso, was sich nicht prüfen ließ.

BISHER GEBAUT

Vier Plugins für JTL-Shop

Dazu der Update-Prüfstand und zwei Werkzeuge für JTL-Wawi — alle auf der Übersicht der JTL-Werkzeuge.

HÄUFIGE FRAGEN
Brauche ich für Plugins oder Bausteine ein eigenes Template?+
Nein. Plugins hängen sich an die Hooks des Shops, Bausteine an die Andockpunkte des OnPage Composers. Keines der vier Plugins ändert eine Datei Ihres Templates.
Was passiert bei einem Update von JTL-Shop?+
Erweiterungen, die nur die vorgesehenen Schnittstellen nutzen, überstehen Updates am ehesten. Garantieren kann das niemand — deshalb gehört vor jedes Update ein Test an einer Kopie. Genau dafür gibt es den Update-Prüfstand.
Laden die Bausteine etwas von fremden Servern?+
Standardmäßig nicht. Schriften liegen im Plugin statt bei Google, und Skripte von Drittanbietern laden erst nach Zustimmung im Consent-Manager des Shops. Wo eines meiner Plugins eine Lizenz prüft, geschieht das offline auf Ihrem Server — ohne Rückruf zu mir.
Für welche Shop-Versionen?+
Die aktuellen Plugins setzen JTL-Shop 5.7 voraus, das Sicherungs-Plugin 5.6. Die Aussagen auf diesen Seiten sind am Quellcode von JTL-Shop 5.7.2 geprüft.
Wie beginnt ein Auftrag?+
Mit einer Beschreibung dessen, was Ihr Shop können soll — gern formlos. Ich prüfe am Code, ob und wie es geht, und sage Ihnen vorher, wo die Grenzen liegen. Geliefert wird ein Plugin-Paket, das Sie im Backend hochladen, mit Dokumentation.
AUS DER WERKSTATT

Werkstattberichte

Was beim Bauen im Quellcode von JTL-Shop aufgefallen ist — mit Fundstelle, damit man es nachprüfen kann.

KONTAKT

Welche Regel fehlt Ihrem Shop?

Beschreiben Sie, was der Shop können soll. Ich sage Ihnen, wo JTL das heute entscheidet — und was ein Plugin dort ausrichten kann.

4VEX.

Individuelle Software und Werkzeuge für Betriebe, die mit Standardlösungen an Grenzen stoßen.

© 2026 4VEX<EX/>