Doppelbestellungen vermeiden


german 7614

Doppelbestellungen vermeiden

Um doppelte Bestellungen vermeiden zu können, empfehle ich, den Button zum Absenden der Bestellung nach dem ersten Klick, sofort zu deaktivieren und dem Kunden eine Meldung bereit zu stellen, dass seine Bestellung in Bearbeitung ist, solange die Seite "checkout_confirmation.php" noch nicht umgeleitet wurde.

Manchmal dauert die Verarbeitung etwas länger und der Kunde klickt erneut den Button zum Absenden der Bestellung und diese wird anschliessend 2 mal ausgeführt. Aus diesem Grund wird folgender Code empfohlen.

Finde in: catalog/checkout_confirmation.php

  require('includes/template_top.php');
?>

Füge danach ein:

<script type="text/javascript">
function SubmitOrderButton(){
        document.getElementById("submitmain").style.display = "none";    
    
    if (navigator.appName == "Microsoft Internet Explorer") {
    document.getElementById("pleasewait").innerHTML = "";
    document.getElementById("pleasewait").style.display = "block";
    document.getElementById("pleasewait").innerHTML = "<img src='images/pleasewait.gif' alt='Please Wait'>";
    } else {
    document.getElementById("pleasewait").style.display = "block";        
    }
}
</script>

Ersetze folgenden Code:

      <?php
      if (is_array($payment_modules->modules)) {
        echo $payment_modules->process_button();
      }
      echo tep_draw_button(IMAGE_BUTTON_CONFIRM_ORDER, 'fa fa-ok', null, 'primary', null, 'btn-success');
      ?>

Mit diesem Code:

<span id="submitmain">
<?php
if (is_array($payment_modules->modules)) {
echo $payment_modules->process_button();
}
?>
<br>
<?php echo tep_draw_button(IMAGE_BUTTON_CONFIRM_ORDER, 'fas fa-check-circle', null, 'primary', null, 'btn-success btn-block btn-lg');?>
</span>
<span id="pleasewait" style="display:none">

<span class="col-sm-12 w3-padding w3-round w3-table w3-border w3-bottombar w3-border-deep-orange w3-food-apricot w3-text-black w3-center w3-large">
<i class="w3-spin fab fa-cloudscale fa-2x"></i>&nbsp;<?php echo TEXT_PROCCESSING_ORDER;?></span>
</span>

Füge hin zu in: catalog/includes/languages/german/checkout_confirmation.php

define('TEXT_PROCCESSING_ORDER', 'Bestellung wird verarbeitet');

Warum Ihre E-Mailadresse ?
Bei Bedarf werde ich Sie kontaktieren um Ihnen mit der Umsetzung zu helfen.
Ihre E-Mailadresse wird nicht öffentlich gemacht.
Ist dieser Beitrag für Sie hilfreich ?
Es liegen noch keine Bewertungen vor.
Informationen(1)
Allgemeine Infos
 Kostenloser Werbeeintrag
Tipps & Tricks(1)
Quellcode box
 Array, $variable, $counter
Beitragszähler
Momentaner Informationsstand:
Kategorien gesamt: 9
Beiträge gesamt: 104
Supportseiten gesamt: 56
Downloads für Mitglieder: 104
Getätigte Downloads: 646
Bewertungen gesamt61
Firmenbewertungen: 26
Supportbewertungen: 28
Beitragsbewertungen: 7