Artikel im Warenkorb mit Status "Nicht Vorrätig" können bestellt werden

  • hi leute,
    folgendes szenario
    10:00 kunde legt artikel0815 in seinen warenkorb
    11:00 shop admin ändert artikel status auf "Nicht Vorrätig"
    12:00 kunde bestellt artikel0815

    also der artikel0815 kann 12:00 nicht mehr im shop aufgerufen werden. der kunde hat ihn aber trotzdem immer noch in seinem warenkorb und kann diesen bestellen.

    kann ich das irgendwie verhindern?
    im warenkorb sollen nur artikel angezeigt werden, die den artikelstatus "Auf Lager" haben.

    grüße
    -=nullvektor=-

    Einmal editiert, zuletzt von nullvektor (8. September 2010 um 14:56)

  • Wie ist das überhaupt möglich? Hat der Kunde 2 Stunden lang F5 gedrückt? Na selbst dann käme ne Meldung.
    Wenn er sich wieder einloggt, wird das nochmals geprüft, ne Meldung kommt.

    Theoretisch ist das nicht möglich. Es sein denn Du hast im Admin nich alles korrekt eingestellt?
    Was steht bei "Admin > Konfiguration > Lagerverwaltungsoptionen > Einkaufen nicht vorrätiger Ware erlauben?" ?

  • Hab es grad noch mal ausprobiert.
    - artikel0815 in den warenkorb gelegt
    - artikel0815 im backend auf "Nicht Vorrätig" gestellt -> über die suche wird artikel jetzt nicht mehr gefunden
    - artikel0815 ist aber noch im warenkorb und kann ohne weiteres bestellt werden

    bei Admin > Konfiguration > Lagerverwaltungsoptionen hab ich:
    - Überprüfen des Warenbestandes: false
    - Überprüfen des Artikelattribut Bestandes: false
    - Warenmenge abziehen: false
    - Einkaufen nicht vorrätiger Ware erlauben: false

    Überprüfen des Warenbestandes würde ich wenn möglich gern auf false lassen. Die Artikel sind alle unbegrenzt vorhanden. Müsste sonst bei jedem Artikel die Anzahl auf 999999 setzen. Es kommt nur eben vor, dass ein Artikel vorübergehend nicht angeboten werden soll. Dachte das macht die Einstellung "Einkaufen nicht vorrätiger Ware erlauben:false". Tut sie aber nicht. Scheinbar wird beim Checkout nicht geprüft ob alle Artikel im Warenkorb auch "auf Lager" sind.

    Kann ich irgendwo im Checkout eine entsprechende Überprüfung nachrüsten? Kein Plan an welcher Stelle ich da was einfügen muss.

  • Das ist ne Chance von 1:1'000'000 das in dem Moment wo Du es deaktiverst einer es direkt davor in den Warenkorb gelegt hat. Deshalb gibt es dafür auch keine Funktion.

    Ich bin schon viele jahre Shop-Programmierer/Shopbetreiber und Shop Betreuer, aber sowas kann man nur so erzwingen so wie Du es gemacht hast, das wird so nie passieren! Das kannste mir glauben.

    PS: Dem Checkout ist egal wie viele Artikel im Lager sind, das prüft einzig und allein der Warenkorb, und das ist schon komplex genug. Man bedenke die Verfügbarkeit aller Attribute etc..

    Tipp: Deaktiviere das entsprechende Produkt früh's und nicht zur Hauptstoßzeit, dann kannste das Verhältnis schon auf 1:10'000'000 hochschrauben.

    Ich werde dafür wohl nichts programmieren. Sorry, das lohnt den Aufwand nicht.

  • Zitat

    Das ist ne Chance von 1:1'000'000 das in dem Moment wo Du es deaktiverst einer es direkt davor in den Warenkorb gelegt hat


    @siekiera: danke für deine antworten. hab es vielleicht nicht so gut erklärt.

    noch mal das beispiel:

    10:00 uhr.
    kunde legt artikel0815 in seinen warenkorb und verlässt die seite, warenkorb wird in cookie gespeichert

    11:00 uhr.
    shop admin ändert artikel0815 status auf "Nicht Vorrätig" -> über die suche wird artikel jetzt nicht mehr gefunden

    12:00 uhr.
    kunde bestellt artikel0815 (artikel0815 wird zwar im shop nicht mehr gefunden, ist wegen dem cookie aber noch im warenkorb)

    genau das ist passiert. ein kunde hat einen artikel bestellt den wir nicht mehr anbieten :o

    also es geht hier nicht um millisekunden. je nach dem wie lange das cookie hält, kann das deaktivierte produkt noch stunden nach seiner deaktivierung bestellt werden (wenn man es nur irgendwann vor der deaktivierung in den warenkorb gelegt hat)

    @siekiera: kannst du die 3 schritte mal bei dir testen, ob es bei dir auch so ist? vielleicht ist es ja nur eine kleine stellung, die bei mir fehlt/falsch ist.
    also folgendes testen:

    Zitat

    Hab es grad noch mal ausprobiert.
    - artikel0815 in den warenkorb gelegt
    - artikel0815 im backend auf "Nicht Vorrätig" gestellt -> über die suche wird artikel jetzt nicht mehr gefunden
    - artikel0815 ist aber noch im warenkorb und kann ohne weiteres bestellt werden

  • Das wurde aber doch schon Technisch gelöst. Musst es nur korrekt einstellen. Du hast alles ausgeschaltet!

    Admin > Konfiguration > Lagerverwaltungsoptionen muss sein:
    - Überprüfen des Warenbestandes: true
    - Überprüfen des Artikelattribut Bestandes: true
    - Warenmenge abziehen: true
    - Einkaufen nicht vorrätiger Ware erlauben: false

    Cookies nutzt der Shop nur in Ausnahmefällen, eigentlich nie.
    Das liegt in der Datenbank unter customers_basket + Attribute. Die login.php aktiviert nach dem erneuten einloggen wieder die ShoppingCart Session und die /includes/classes/shopping_cart.php prüft wieder ob alles noch da ist.

    Dann kann keiner mehr kaufen! Guck Dir das Video hier an: http://screencast.com/t/OGJiYTNm

  • Hi siekiera,
    vielen Dank für die Mühe. Habe jetzt die Lagerverwaltungsoptionen wie oben beschrieben gesetzt. Wenn ich einen Artikel vorübergehend aus dem Shop nehmen will muss ich halt Lager auf rot (also "Nicht Vorrätig") stellen und zusätzlich Artikelanzahl auf 0 setzen.

    Meiner Meinung nach trotzdem ein Bug (jedenfalls in v1.1.1 CE): In deinem Video setzt du ja die Artikelanzahl auf 0. Wenn du stattdessen die Artikelanzahl auf 1 lässt und Lager auf rot (also "Nicht Vorrätig") stellst, dürfte man den Artikel (nach Option Einkaufen nicht vorrätiger Ware erlauben: false) nicht bestellen können. Kann man aber. Artikel mit Lager rot werden im Shop ja nicht mehr angezeigt, nur im Warenkorb bleiben sie und können bestellt werden. Optimal wäre es wenn Artikel mit Lager rot einfach aus dem Warenkorb gelöscht werden.

    Na ja, Lager auf rot (also "Nicht Vorrätig") stellen und zusätzlich Artikelanzahl auf 0 setzen tuts aber auch.

  • Artikel mit Lager rot werden im Shop ja nicht mehr angezeigt, nur im Warenkorb bleiben sie und können bestellt werden.

    Das ist Käse. Sie bleiben im Shop, können aber nicht gekauft werden.