bereits gekaufte Artikel erneut in den Warenkorb legen

Thema wurde von A-Donut, 24. April 2017 erstellt.

  1. A-Donut

    A-Donut Aktives Mitglied

    Registriert seit:
    2. Juni 2015
    Beiträge:
    40
    Danke erhalten:
    0
    Danke vergeben:
    17
    Hallo,
    ich habe versucht die Funktion "bereits gekaufte Artikel erneut in den Warenkorb legen" zu realisieren.
    Mit Javascirpt funktioniert dies nur unzuverlässig. Ich habe auf der /account_history_info.php?order_id=xxx - Seite einen Button eingefügt der für jeden Artikel ein Fenster mit .../index.php?action=buy_now&BUYproducts_id=Artikelnummer öffnet und schließt. Wie gesagt mit mäßigem Erfolg.
    Gibt es eine Möglichkeit verschiedene Produkte mit einem Link in den Warenkorb zu legen? Evtl. sogar eine Menge pro Artikel mitzugeben?
     
  2. Developer

    Developer Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    2.885
    Danke erhalten:
    617
    Danke vergeben:
    113
    Da ich nicht genau weiß, wie Du das exakt realisiert haben möchtest, so gibt es einige Wege, die nach Rom führen:

    Wenn Du mittels einem Schalter die bereits gekauften Artikel einer Bestellung erneut in den Warenkorb legen möchtest, so kann es a) nicht immer derselbe Link sein und b) schon gar nicht per Link übergeben werden, da die Bestellnummer unter anderem auch immer unterschiedlich ist. Bedeutet: Du solltest dir hierfür ein Script schreiben, wo die Artikel in Anlehnung der Bestellung beispielsweise eine Schleife durchlaufen und diese dann automatisiert in den Warenkorb gepackt werden.

    Das soll schon für den Kunden im Frontend geschehen? Oder möchtest Du als Admin die Funktionalität haben?

    Viele Grüße
     
  3. A-Donut

    A-Donut Aktives Mitglied

    Registriert seit:
    2. Juni 2015
    Beiträge:
    40
    Danke erhalten:
    0
    Danke vergeben:
    17
    #3 A-Donut, 25. April 2017
    Zuletzt von einem Moderator bearbeitet: 27. April 2017
    Hallo,
    es sollten im Grunde einfach per Button (im Frontend) alle Artikel aus einer History-Rechnung (/account_history_info.php) wieder in den Warenkorb.
    ich habe das ungefähr so gemacht:
    in der foreach für die Produkte:

    Code:
    <script>
                   pzaehler++;
                   /*window['pid_'+pzaehler] = {$order_values.PRODUCTS_MODEL};
                   window['qty_'+pzaehler] = {$order_values.PRODUCTS_QTY};   */
                   positionen.push([{$order_values.PRODUCTS_MODEL}, {$order_values.PRODUCTS_QTY}]);
    </script>
    Dann unten:

    Code:
    <button style="float:right" class="so-order" id="so-a3-order" onclick="positionen.forEach(openWin2P)">{$txt.buy_again}</button>
       <p id="demo"></p>
       <p id="demo2"></p>                                     
       <script>
       var test = pzaehler - 1;
       function openWin2P() {
           var pr_id_array = 0;
           var pr_qty_array = 1;
           var id_p = positionen[timer_position][pr_id_array];
           var qty_p = positionen[timer_position][pr_qty_array];
           var P2url= "https://www.xxxxx.de/index.php?action=buy_now&BUYproducts_id=" + id_p;
           var Pblank = "";
           var P2Window = window.open(Pblank, "", "width=100,height=30,scrollbars=no,location=no,toolbar=no,directories=no,status=no,top=0,left=0");
           setTimeout(function reload(){ P2Window.window.location = P2url; }, 500);
           setTimeout(function clos_1(){ P2Window.close(); }, 1000);
           timer_position++;
           var timer_x = (1500 * test) + 200;
           /*document.getElementById("demo").innerHTML = id_p + " & " + qty_p + "<br /><br />" + P2url;
           document.getElementById("demo2").innerHTML = test + " & " + timer_position;*/
           if (test = timer_position) {
               setTimeout(function rfresh(){ location.reload(); }, timer_x);
               /*setTimeout(function opencart(){ document.getElementById("head_shopping_cart").click(); }, 5000);*/
           }     
       }
       </script>
    nur die Problematik, die Fenster nach ablauf wieder zu schließen , bzw generell das richtige Timming auf jedem Rechner zu haben gelang mir nicht.
    Es wäre so schön einfach im /index.php?action=buy_now&BUYproducts_id alle Produkte aufreihen zu können.