Jump to content
RingelZahn

Warenkorb - alle Artikel auf einmal löschen

Recommended Posts

Hallo zusammen hat jemand eine Idee wo ich schrauben kann, damit der Kunde wenn er seinen Warenkorb mit Unsinn gefüllt hat alle Artikel auf einmal löschen kann? Aktuell muss er ja Zeile für Zeile löschen.

Share this post


Link to post
Share on other sites

Immerhin hatte er ja auch die Passion, ihn Zeile für Zeile zu füllen :) Im 1.6.1.7 kann er sich durch"tab"ben und dann in den Mengenfeldern die Null drücken. Geht schnell und ist m.E. einfach genug.

  • Like 1

Share this post


Link to post
Share on other sites

Wenn es ein wichtiger Kunde ist, kannst Du ja über das Backoffice alles löschen. Oftmals sind sehr prall gefüllte Warenkörbe auch einfach nur Crawler die Unsinn treiben.

Share this post


Link to post
Share on other sites

Es geht darum, dass sich das system ja auch per cookie warenkörbe merkt, und wir haben viele kleinartikel. da kann es schon mal sein, dass ein kunde den kompletten warenkorb im frontoffice löschen will.

Share this post


Link to post
Share on other sites

Müsste man Javascript entsprechend um eine Funktion erweitern, die das macht. Und das oder die zugehörige tpl Files. Jenachdem, wo diese Funktion überall zur Verfügung stehen müsste. Nachfolgend ein Auszug aus ajax-cart mit dem remove:

    remove : function(idProduct, idCombination, customizationId, idAddressDelivery){
        //send the ajax request to the server
        $.ajax({
            type: 'POST',
            headers: { "cache-control": "no-cache" },
            url: baseUri + '?rand=' + new Date().getTime(),
            async: true,
            cache: false,
            dataType : "json",
            data: 'controller=cart&delete=1&id_product=' + idProduct + '&ipa=' + ((idCombination != null && parseInt(idCombination)) ? idCombination : '') + ((customizationId && customizationId != null) ? '&id_customization=' + customizationId : '') + '&id_address_delivery=' + idAddressDelivery + '&token=' + static_token + '&ajax=true',
            success: function(jsonData)    {
                ajaxCart.updateCart(jsonData);
                if ($('body').attr('id') == 'order' || $('body').attr('id') == 'order-opc')
                    deleteProductFromSummary(idProduct+'_'+idCombination+'_'+customizationId+'_'+idAddressDelivery);
            },
            error: function() {alert('ERROR: unable to delete the product');}
        });
    },

Dazu brauchte man noch einen Wrapper, welcher alle Produkte-IDs und die weiteren Optionen in einem Look durchläuft und obige Funktion aufruft.

 

Die Warenkörbe werden übrigens nicht im Cookie gespeichert. Dort sind nur die Verweise auf den Warenkorb abgelegt. Man kann also im Backoffice löschen und der Kunde sieht den Warenkorb dann auch nicht mehr.

Edited by Scully (see edit history)

Share this post


Link to post
Share on other sites

Natürlich werden Sie im Cookie gespeichert. Das weiß jeder, der schon mal einen Einkauf via Prestashop getätigt hat. Der Kunde braucht also bloß die Browser-Cookies zu löschen. Dann ist der Warenkorb wieder leer.

Share this post


Link to post
Share on other sites

@elazar:

Data stored in a visitor/client's cookie
 

id_cart -> The ID of the current cart displayed in the cart block.
 
Ich habe vorab geschrieben:

"Die Warenkörbe werden übrigens nicht im Cookie gespeichert. Dort sind nur die Verweise auf den Warenkorb abgelegt."

 

Sind jetzt wirklich Warenkörbe im Cookie oder nur die IDs derselben, welche Verweise wären? Im übrigen weiss das noch längst nicht jeder, der schon einmal eine Bestellung in PrestaShop getätigt hat. Selbst Shopbetreiber wissen es mitunter nicht.

 

Klar ist, dass Deine Lösung funktioniert. Indes ist der Kunde dann auch gleich vom Shop abgemeldet, was eher ein unerwünschter Seiteneffekt wäre.

Edited by Scully (see edit history)

Share this post


Link to post
Share on other sites

Natürlich nur Verweise! So funkionieren Cookies nun mal bei Shopsystemen! :)

Im übrigen bieten gute Shops eine diesbezügliche Erklärung für den Kunden, zumal er ja dem Setzen von Cookies zustimmen oder zumindest auf diese Tatsache aufmerksam gemacht werden muss.

Share this post


Link to post
Share on other sites

"Im übrigen bieten gute Shops eine diesbezügliche Erklärung für den Kunden, zumal er ja dem Setzen von Cookies zustimmen oder zumindest auf diese Tatsache aufmerksam gemacht werden muss."

 

Gute Shops noch durch "EU-Shops" ersetzen - dann volle Zustimmung durch mich. Die Cookies sind ja schon gesetzt, wenn der Kunde die Seite besucht. Auch ganz ohne Zustimmung. Weshalb dann noch die Zustimmung einholen, wenn das Cookie schon da ist?

Edited by Scully (see edit history)

Share this post


Link to post
Share on other sites

Ausgezeichnet, dieser Link von Christian. Und man sieht mal wieder, wie eine so vermeintlich simple Funktion dann doch recht viel Änderungen mit sich bringt. In meinem inneren Ohr höre ich die Kunden fluchen. "Was, zwei oder drei Stunden Aufwand für diese Änderung? Ich will doch nur einen kleinen Button da reinhaben."

 

Und wenn man schon einen Override auf dem jeweiligen Controller laufen hat, wird's auch nicht einfacher.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More