Wie realisiere ich einen Mindermengenzuschlag in DA-BestellFormular?
Derzeit gibt es keine eingebaute Option für einen Mindermengenzuschlag in DA-BestellFormular mit etwas Java-Script lässt sich die Sache aber realisieren. So geht es!
Videoanleitung
Anleitung
Im Beispiel verwenden wir das folgende Formular. Wir haben eine Bestellung für eine Pizzeria. Sollte der Betrag unter 20 Euro sein, wollen wir 2 Euro Aufschlag verlangen. Wir legen normal die Artikel an und fügen auch einen Artikel für den Mindermengenzuschlag, inklusive Preis an.
Der Mindermengenaufschlag muss vom Typ “Checkbox-Artikel” sein.
Anschließend gehen wir auf die “Erweiterten Einstellungen”.
Das erste was wir tun wollen ist, das manuelle Setzen des Checkbox-Artikels für den Mindermengenzuschlag zu deaktivieren. Die Option soll automatisch deaktiviert und aktiviert werden. In der Kopfzeile fügen wir nun folgenden Code ein:
<script> $(function() { //Checkbox für Mindermenge deaktivieren document.getElementById("b_anz3").disabled = true; }); </script>
Wichtig: der Code muss angepasst werden, das “b_anz3”, genau genommen die 3 ist Stelle des Mindermengenzuschlags im Formular. Wir haben 4 Artikel im Formulare, darauf wird “b_anz3”. Aus 5 wird 4 und so weiter.
Wenn wir nun das Formular testen, sollte die Auswahlbox für den Artikel deaktiviert sein.
Nun gehen wir wieder in die “Erweiterten Einstellungen”. Nun müssen wir noch die Vorlage bearbeiten. Wählen Sie die Vorlage aus, in welchem Design Sie exportieren wollen. Die Vorgehensweise ist bei allen gleich. Hier sollen wir nun nach unten, bis wir zum Platzhalter “GESAMTKOSTEN” kommen.
Hier fügen wir nun folgenden Code ein:
//Mindermengenzuschlag minimumPreis = 20; //mindestens 20 Euro if (total >= minimumPreis) { if (document.getElementById("b_anz3").checked == true) { document.getElementById("b_anz3").checked = false; preisUpdateArt(); } } if (document.getElementById("b_anz3").checked != true) { if (total < minimumPreis) { document.getElementById("b_anz3").checked = true; preisUpdateArt(); } }
Auch hier müssen wir wieder ein paar Anpassungen vornehmen, b_anz3 ist die gleiche Nummer wie oben. Bei “minimumPreis” setzen wir den minimalen Preis, unter welchem der Aufschlag berechnet wird.
Das Ergebnis sollte in etwa so aussehen:
Testen des Formulars
Rufen wir nun die Vorschau auf, das Formular sollte nun angezeigt werden und der Aufschlag, je nach Preis, berechnet werden. Der erste Fall: wir sind unter den 20 Euro, also wird die Auswahl für den Mindermengenzuschlag gesetzt und zum Preis addiert.
Zweiter Fall, wir sind über den 20 Euro. Hier wird nun die Auswahl automatisch deaktiviert und der Aufschlag nicht mehr berechnet.