Doppelbestellungen vermeiden


german 5447
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(2)
Allgemeine Infos
 Kostenloser Werbeeintrag
 Lazy Loading
Beitragszähler
Momentaner Informationsstand:
Kategorien gesamt: 8
Beiträge gesamt: 104
Supportseiten gesamt: 54
Downloads für Mitglieder: 104
Download Zähler: 646
Bewertungen gesamt58
Firmenbewertungen: 26
Supportbewertungen: 25
Beitragswertungen: 7