Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
stylenone

Einleitung

Das s360_quantity_calculation_shop5 Plugin für JTL-Shop 5 bietet die Möglichkeit dem Kunden die benötigte Anzahl von einem Produkt zu berechnen.

Installation / Update

Systemvoraussetzungen

  • JTL-Shop 5.2.0+ und dessen Voraussetzungen

Plugin-Installation

Die Installation des Plugins erfolgt nach JTL-Standard, wie es hier beschrieben ist oder sie können Ihre vorhandene ZIP-Datei des Plugins auch über den Reiter “Upload“ in der Pluginverwaltung bereitstellen und anschließend im Reiter “Vorhanden“ die Installation starten.

Plugin-Update

Bei einem Update auf eine neuere Version können Sie der allgemeinen Installation folgen mit dem Unterschied, dass Sie direkt in der Pluginverwaltung den Update-Button zur Aktualisierung betätigen müssen.

Konfiguration

Einstellungen

Plugin Einstellung.png

Das Plugin verfügt über folgende Einstellungen

Einstellung

Optionen

 Beschreibung

Aktivieren

  • Aktiv

  • Nur Admin aktiv

  • Inaktiv

Steuert für wen das Plugin aktiviert ist oder ob es inaktiv ist

Aufschlag optional

  • Ja

  • Nein

Steuert, ob der gewählte Aufschlag optional für den Kunden wählbar ist

Selektor

Ist der Selektor an dem das Plugin im Frontend eingebunden werden soll

Einfüge-Methode

  • Prepend

  • Before

  • After

  • Append

  • ReplaceWith

Steuert, wo genau das Frontend am Selektor eingefügt werden soll

Button Farbe

  • Dark

  • Info

  • Light

  • Danger

  • Primary

  • Success

  • Warning

  • Secondary

Steuert die Farbe des Buttons (Bootstrap Button Klassen)

Button Größe

  • Groß

  • Klein

Regelt die Größe des Buttons

CSS-Klassen

Können mehrere CSS Klassen verwendet werden um das Styling etc. anzupassen

Betrieb

Darstellung

Frontend Plugin.png

Wawi Funktionsattribute

Hier beispielhaft, wie die Funktionsattribute an einem Artikel gepflegt werden können (in der Tabelle unterhalb des Screenshots können Sie sehen, welche Funktionsattribute pflicht und welche optional sind):

Funktionsattribute Einstellung.png

Funktionsattribute Einstellung Artikel.png

Funktionsattribut

Inhalt

Typ

Pflichtfeld

 Beschreibung

s360_berechnung_einheit

Syntax:
ISO:Wert|ISO:Wert…

Beispiel:
ger:Kilogramm|eng:kilogram

ISO = Kennung für Namen von Sprachen (ger, eng, ita usw.)

Freitext

ja

Gibt die Einheit an, die beim Input Feld stehen soll.

Frontend Plugin Text Einheit.png

s360_berechnung_faktor

Beispiel:
2,0

Fließkommazahl

Optional

Gibt den Faktor an, wie oft das Produkt benötigt wird. Bsp. Hantelstange. Für eine Hantelstange werden zwei Gewichte benötigt

s360_berechnung_aufschlag_prozent

Beispiel:
5

Ganzzahl

Optional

Gibt einen benötigten Aufschlag in Prozent an (Zusätzlich zum Absoluten)

Frontend Plugin Text Aufschlag-Prozent.png

s360_berechnung_aufschlag_absolut

Beispiel:
5,5

Fließkommazahl

Optional

Gibt einen benötigten absoluten Aufschlag an (Zusätzlich zum Prozent)

Frontend Plugin Text Aufschlag-Absolut.png

s360_berechnung_aufschlag_text

Syntax:
ISO:Wert|ISO:Wert…

Beispiel:
ger:Aufschlag zum Gewicht|eng:Weight surcharge

ISO = Kennung für Namen von Sprachen (ger, eng, ita usw.)

Freitext

Optional

Gibt die Möglichkeit einen eigenen Text für “Verschnitt hinzufügen?“ für einzelne Artikel. Wenn das Attribut nicht vorhanden ist, wird die Sprachvariable “clipping“ genutzt

Frontend Plugin Text Aufschlag-2.png

Zusätzlich verwendet das Plugin die folgenden Werte aus der Wawi. Den Inhalt, die Mindestbestellmenge und den Abnahmeintervall

Berechnung

  1. Ergebnis = Eingegebene Zahl im Eingabefeld

  2. Wenn Aufschlag berechnet werden soll:

    1. Wenn s360_berechnung_aufschlag_prozent gesetzt ist:
      Ergebnis = Ergebnis + Eingegebene Zahl im Eingabefeld * (s360_berechnung_aufschlag_prozent/100)

    2. Wenn s360_berechnung_aufschlag_absolut gesetzt ist:
      Ergebnis = Ergebnis + s360_berechnung_aufschlag_absolut

  3. Wenn Faktor gesetzt ist und größer als 0 ist
    Ergebnis = Ergebnis * Faktor

  4. Ergebnis = Ergebnis durch Inhalt/Menge

  5. Wenn Ergebnis kleiner als die Mindestabnahme ist:
    Ergebnis = Mindestabnahme

  6. immer aufrunden vom Ergebnis

  7. Wenn Ergebnis mod Abnahmeintervall größer als 0 ist
    Ergebnis = Ergebnis + (Abnahmeintervall - (Ergebnis mod Abnahmeintervall))

Artikel anlegen

Wawi

Damit der Bedarfsrechner auf der Artikeldetailseite angezeigt wird, benötigt der Artikel bestimmte Attribute und Werte in der Wawi, die für die Berechnung benötigt werden. In der folgenden Tabelle werden die benötigten Einstellungen erklärt und was sie machen, die Funktionsattribute finden sie dazu ebenfalls hier.

Einstellung

Inhalt

Pflichtfeld

 Beschreibung

Inhalt/Menge

ja

Beinhaltet die Menge vom Artikel

inhalt.png

Mindestabnahme

Optional

Gibt die Mindestabnahme von dem Artikel an, wie viel mindestens gekauft werden müssen

mindestabnahme-abnahmeintervall.png

Abnahmeintervall

Optional

Gibt den Abnahmeintervall des Artikels an,

s360_berechnung_einheit (Funktionsattribut)

Syntax:
ISO:Wert|ISO:Wert…

Beispiel:
ger:Gramm|eng:gram

ISO = Kennung für Namen von Sprachen (ger, eng, ita usw.)

ja

Gibt die Einheit an, die beim Input Feld stehen soll.

s360_berechnung_faktor (Funktionsattribut)

Beispiel:
2,0

Optional

Gibt den Faktor an, wie oft das Produkt benötigt wird. Bsp. Hantelstange. Für eine Hantelstange werden zwei Gewichte benötigt

s360_berechnung_aufschlag_prozent (Funktionsattribut)

Beispiel:
5

Optional

Gibt einen benötigten Aufschlag in Prozent an (Zusätzlich zum Absoluten)

s360_berechnung_aufschlag_absolut (Funktionsattribut)

Beispiel:
5,5

Optional

Gibt einen benötigten absoluten Aufschlag an (Zusätzlich zum Prozent)

s360_berechnung_aufschlag_text (Funktionsattribut)

Syntax:
ISO:Wert|ISO:Wert…

Beispiel:
ger:Aufschlag hinzufügen?|eng:add surcharge?

ISO = Kennung für Namen von Sprachen (ger, eng, ita usw.)

Optional

Gibt den Text nach dem Aufschlag an, wenn ein anderer Text gewählt werden soll, wie in der Plugin Sprachvariable clipping

Sprachvariablen

Name

 Beschreibung

title

Gibt den “Titel“ an

Frontend Plugin Text title.png

result

Text vor dem Ergebnis

Frontend Plugin Text result.png

clipping

Standardtext nach den Aufschlagswerten. Kann für einzelne Artikel mit Hilfe vom Funktionsattribut s360_berechnung_aufschlag_text überschrieben werden.

Frontend Plugin Text Aufschlag-4.png

button_calculate

Text vom Button

Frontend Plugin Text Button.png

product_unit_default

Gibt die Produkteinheit an, die angezeigt werden soll, wenn keine Verkaufseinheit in der Wawi keine angegeben wurde.

Bsp.: als Standardeinheit wird x

Frontend Plugin Text einheit default.png

error_msg_empty_quantity

Fehlermeldung, wenn das Eingabefeld leer oder 0 ist.

Frontend Plugin Text error msg.png

Fallbeispiele

Flüssiges Produkt in Flaschen

Situation: Ein Kunde benötigt 6,37 Liter eines Produkts, welches in flüssiger Form flaschenweise erhältlich ist. Der Inhalt einer Flasche beträgt 20 ml. Es besteht die Möglichkeit, dass ein wahrscheinlicher Restinhalt sowie ein zusätzlicher Puffer bei der Berechnung berücksichtigt werden.

Berechnung ohne Option (kein ausgewähltes Feld): Ohne Auswahl des Feldes wird nur die reine Menge berechnet:

image-20250205-143815.pngImage Added

Berechnung mit Option (ausgewähltes Feld): Sobald das, von Ihnen vorher festgelegte, Feld ausgewählt wurde, wird es verrechnet:

image-20250205-144053.pngImage Added

Bei einem angenommenen Restinhalt von 5 ml und einem Puffer von 2% wird die Flaschenanzahl aufgerundet, um auf die genaue Menge zu kommen.

Einstellungen in der WaWi:

image-20250206-112928.pngImage Addedimage-20250206-112943.pngImage Added

Matten für Fitnessstudio

Situation: Eine Fitnessstudiokette möchte im Rahmen geplanter Umbaumaßnahmen den Boden mit Matten auslegen. Die zu bedeckende Fläche beträgt 113,67 m².

Da der Bedarfsrechner nur eine Dezimalstelle berücksichtigt, kann die Fläche mit 113,7 m² angegeben werden. Die Matten haben jeweils eine Fläche von 1 m². Zusätzlich wird ein Verschnitt von 2 m² als Option eingeplant.

Berechnung ohne Option (kein ausgewähltes Feld): Ohne Verschnitt zeigt der Bedarfsrechner an, dass 114 Matten benötigt werden, da auf die nächsthöhere natürliche Zahl gerundet wird:

image-20250206-080554.pngImage Added

Berechnung mit Option (ausgewähltes Feld): Wird der Verschnitt von 2 m² mit eingeplant, erhöht sich der Bedarf auf 116 Matten:

image-20250206-080743.pngImage Added

Einstellungen in der WaWi:

image-20250206-113014.pngImage Addedimage-20250206-121906.pngImage Added

Sonderaktion nach Produkteinführung

Situation: Ein Kleinunternehmen mit einem Laden plant eine Sonderaktion für einen Schokoriegel, der zuvor ohne Rabatte schnell ausverkauft war. Der Händler rechnet aufgrund der hohen Nachfrage mit einer Verdreifachung des Verkaufs.e.

Berechnung ohne Option (kein ausgewähltes Feld): Im Einkauf wird der Schokoriegel im 4er-Pack verkauft, aber im Laden einzeln angeboten. Da zuvor 158 Riegel verkauft wurden, erwartet der Händler nun einen Absatz von 474 Schokoriegeln. Der Bedarfsrechner berechnet die benötigte Packungsmenge:

image-20250206-084732.pngImage Added

Mit dieser Berechnung sind 119 Packungen erforderlich.

Berechnung mit Option (ausgewähltes Feld): Um sicherzustellen, dass der Vorrat für die gesamte Dauer der Sonderaktion reicht, kann ein prozentualer Aufschlag von 5% eingeplant werden:

image-20250206-085228.pngImage Added

Dies stellt sicher, dass ausreichend Ware vorhanden ist, selbst wenn unvorhergesehene Ereignisse eintreten.

Einstellungen in der WaWi:

image-20250206-113055.pngImage Addedimage-20250206-113110.pngImage Added

Parkett für die Wohnung

Situation: Ein Endkunde möchte den Boden seiner Wohnung mit Parkett auslegen. Die Fläche, die er verlegen möchte, beträgt 45 m². Das Parkett wird in Kisten verkauft, wobei jede Kiste eine Fläche von 2,5 m² abdeckt.

Berechnung ohne Option (kein ausgewähltes Feld): Hierbei werden 18 Kisten mit Parkett benötigt, da pro Kiste 2,5² zur Verfügung stehen. Eine Aufrundung findet in diesem Fall nicht statt, weil dies passend teilbar ist:

image-20250206-103149.pngImage Added

Berechnung mit Option (ausgewähltes Feld): Der Kunde möchte jedoch einen kleinen Puffer für mögliche Zuschnitte oder Fehler bei der Verlegung einplanen und wählt einen Puffer von 5%. Der Bedarfsrechner berücksichtigt nun den Puffer und berechnet die benötigte Menge. Mit der ausgewählten Option wird eine zusätzliche Kiste benötigt. In diesem Fall wurde auf das nächste Objekt gerundet:

image-20250206-103400.pngImage Added

Einstellungen in der WaWi:

image-20250206-112741.pngImage Addedimage-20250206-112801.pngImage Added

Umzugskartons für einen Umzug

Situation: Ein Endkunde plant einen Umzug und benötigt Umzugskartons. Die gesamte Menge an Gegenständen, die verpackt werden muss, wird auf ein Volumen von 7 m³ geschätzt. Die angebotenen Umzugskartons haben ein Volumen von 0,1 m³ pro Karton. Hierbei wird für den Bedarfsrechner das Volumen genommen, welches verpackt werden soll.

Berechnung ohne Option (kein ausgewähltes Feld): Hier wird erneut nur die reine Menge berechnet; in diesem Fall werden 70 Kartons benötigt.

image-20250206-105215.pngImage Added

Berechnung mit Option (ausgewähltes Feld): Der Kunde möchte sicherstellen, dass er nicht zu wenig Kartons hat, falls einige Gegenstände etwas mehr Platz benötigen oder zusätzliche Verpackung erforderlich ist. Er wählt die Option für einen Aufschlag von 10%. So ergeben sich 77 Kartons bzw. ein Volumen von 7,7 m³:

image-20250206-105426.pngImage Added

Einstellungen in der WaWi:

image-20250206-112843.pngImage Addedimage-20250206-112857.pngImage Added

Zu beachten:

Bei der Einstellung des Bedarfsrechner ist zu beachten, dass Sie die korrekten Aufschläge auswählen. Ein zu niedriger Wert kann möglicherweise die benötigte Toleranz nicht abdecken und ein zu hoher Wert kann mögliche Kunden vom Kauf abschrecken. Bei gewissen Produkten kann eine Aufschlagsempfehlung ausgesprochen werden, wenn Sie die Erfahrung sammeln konnten, dass Ihre Kunden zu wenig, für den benötigten Zweck, bestellten:

image-20250206-090102.pngImage Added

Troubleshooting

Logs prüfen

Um herauszufinden, wo ein Problem liegt, helfen Ihnen und uns die Logs. Je nach Fehlerbild ist eines der folgenden 3 Logs dafür mehr oder weniger relevant.

Browser-Log

Das Browser-Log ist meist relevant, wenn irgendwas im Frontend des Shops sich merkwürdig verhält oder nicht reagiert. (Beispiel: Sie klicken einen Button und augenscheinlich passiert gar nichts.)

Das Browser-Log sehen Sie, wenn Sie im Browser F12 drücken und dort dann auf Konsole (oder Console) wechseln.

Shop-Log

Das Shop-Log ist immer dann interessant, wenn im Frontend unerwartete Fehlermeldungen ausgegeben werden oder das Plugin zwar auf Eingaben im Frontend reagiert, aber nicht das Ergebnis liefert, was erwartet wurde. Manchmal ergibt sich auch durch das Browser-Log, dass die Informationen eher im Shop-Log zu suchen sind.

Das Shop-Log finden Sie im JTL-Adminbereich unter System → Wartung → Log.

Das JTL-Log arbeitet mit Log-Levels, um nicht die Datenbank unbegrenzt mit Logdaten zu befüllen. Im Umkehrschluss heißt das, dass Sie Logmeldungen aber auch erst dann sehen, wenn diese nach der Änderung des Loglevels erzeugt worden sind.
Das Plugin loggt außer kritischer Fehler fast ausschließlich im Debug-Log-Level. Wenn also etwas nicht klappt, sollten Sie zunächst das Debug-Loglevel aktivieren, dann eine Testbestellung durchführen, dann das Debug-Loglevel wieder deaktivieren und die zwischenzeitlich geloggten Meldungen zurate ziehen.

Webserver-Log

Das Webserver-Log wird dann relevant, wenn Sie irgendwo auf einen Error 500 (= weiße Seite) stoßen.

Das Webserver-Log kann Ihnen Ihr Hoster zur Verfügung stellen.

In der Standardkonfiguration loggt der JTL-Shop überhaupt nichts in das Webserverlog, nicht mal kritische Fehler wie einen Error 500.

Damit der Shop diese Fehler loggt, müssen in der /includes/config.JTL-Shop.ini.php die einzelnen *_LOG_LEVEL Werte von 0 auf E_ERROR geändert werden.

Warning

Achtung: Editieren Sie die Config-Datei des Shops nur, wenn Sie wissen, was Sie tun! Fehlerhafte Anpassungen hier können Ihren Shop unerreichbar oder (verschlüsselte) Daten unbrauchbar machen. Im Zweifelsfall sollten Sie Ihren Hoster oder Servicepartner um Hilfe fragen.

Changelog

v1.0.3 (Januar 2025)

  • Dashboard hinzugefügt

v1.0.2 (Dezember 2024)

  • Fixed: Beim wechseln von einem Vaterartikel zum Kindartikel berechnen Button ohne Funktion

  • Verbesserung: Formularfeld und Einheit besser dargestellt

v1.0.1 (November 2024)

  • Verbesserung: Javascript wird async geladen

  • Fixed: Beim Variationswechel berechnen Button ohne Funktion

v1.0.0 (Oktober 2024)

  • Initiales Release