Werbung / Banner buchen
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Bestellung von deaktivierten Artikeln

    Cookie

    • Fördermitglied
    • Beiträge: 274
    Bestellung von deaktivierten Artikeln
    am: 13. September 2010, 14:37:17
    Hallo,

    mir ist folgendes Aufgefallen:
    Ein Kunde legt einen Artikel in den Warenkorb. Dieser wird darin gespeichert. Nun deaktiviere ich diesen Artikel im Shop. Der Kunde loggt sich nach einiger Zeit wieder ein und sieht den Artikel im Warenkorb. Er kann ihn jetzt trotz Deaktivierung bestellen. Ist das Absicht?

    Danke.
    Christian



    Linkback: https://www.modified-shop.org/forum/index.php?topic=7992.0

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Bestellung von deaktivierten Artikeln
    Antwort #1 am: 13. September 2010, 16:34:09
    Ich habe das Thema bis zur Klärung erstmal nach "Bugs oder Funktionsfehler" verschoben.

    Grüße

    Torsten

    franky_n

    • Experte
    • Beiträge: 4.950
    Bestellung von deaktivierten Artikeln
    Antwort #2 am: 13. September 2010, 17:00:48
    Hallo Cookie,

    probier mal folgendes:
    \admin\categories.php
    hinter Z.29

    Code: PHP  [Auswählen]
    require_once ('includes/classes/categories.php');
    das einfügen:

    Code: PHP  [Auswählen]
    require_once ('includes/classes/shopping_cart.php');
    Dann in Z.37 hinter dem:

    Code: PHP  [Auswählen]
    $catfunc = new categories();
    das einfügen:

    Code: PHP  [Auswählen]
    $shopping_cart_func = new shoppingCart();
    Dann in Z.105 nach dem:

    Code: PHP  [Auswählen]
                            if (($_GET['flag'] == '0') || ($_GET['flag'] == '1')) {
                                    if ($_GET['pID']) {
                                            $catfunc->set_product_status($_GET['pID'], $_GET['flag']);
     
    das einfügen:

    Code: PHP  [Auswählen]
              if ($_GET['flag'] == '0') {
                $shoppingCart->remove_product($_GET['pID']);
              }
     
    Und dann noch in der Datei \admin\includes\classes\shopping_cart.php vor dem Ende:

    Code: PHP  [Auswählen]
      }
    ?>
     
    das einfügen:

    Code: PHP  [Auswählen]
        function remove_product($products_id) {
          unset($this->contents[$products_id]);
          // remove product complete from database
          xtc_db_query("delete from " . TABLE_CUSTOMERS_BASKET . " where products_id = '" . $products_id . "'");
          xtc_db_query("delete from " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " where products_id = '" . $products_id . "'");
        }
     
    Dann sollte in allen Warenkörben der Kunden das Produkt rausfallen.
    Da von mir noch nicht getestet einfach mal ausprobieren und Rückmeldung geben.

    Viele Grüße

    Franky

    Cookie

    • Fördermitglied
    • Beiträge: 274
    Bestellung von deaktivierten Artikeln
    Antwort #3 am: 14. September 2010, 19:31:10
    Danke Franky.

    Ich werd es mal ausprobieren.

    Christian

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Bestellung von deaktivierten Artikeln
    Antwort #4 am: 14. September 2010, 19:41:39
    Und bitte auch Rückmeldung geben. :thx:

    Grüße

    Torsten

    baustelle

    • Fördermitglied
    • Beiträge: 1.622
    Bestellung von deaktivierten Artikeln
    Antwort #5 am: 15. September 2010, 04:33:32
    Ach du grüne Neune... hab ich zuerst gedacht. Und ganz fix Frankys Anpassungen reingedaddelt. Pustekuchen, der deaktivierte Artikel konnte immer noch im Warenkorb gefunden und bestellt werden.

    Dann bin ich über Cookies "deaktiviert" gestolpert... da stand ja nicht "Bestand auf 0 gesetzt" oder sowas. "Deaktivieren" heisst für mich, einen Artikel in der Übersicht auf rot zu setzen. Also hab ich dem bewussten Artikel den Bestand 0 verpasst - und kriegte im Warenkorb den richtigen Hinweis, dass der Artikel 'nicht in der gewünschten Menge vorrätig ist'.

    Also alle Änderungen wieder rückgängig gemacht, um zu prüfen, ob das auch ohne Frankys Anpassungen so läuft - tut es.

    Ergo: Artikel deaktivieren reicht nicht, er muss als Bestand 0 haben (also bei "Lager Warnung" auf "Haupt" stehen), sonst ist er weiterhin im Warenkorb zu finden und bestellbar.

    Es sei denn, Franky kriegt es hin, dass ihn bereits das Deaktivieren (auf Rot schalten) aus den Körben der Nation kegelt.  8) - was von großem Nutzen wäre, weil man manchmal ja nur einen Artikel vorübergehend auf 'unsichtbar' stellen möchte, ohne ihn bearbeiten und auf 0 setzen zu müssen.

    Danke an Cookie jedenfalls fürs Sensibiliseren, und auch an Franky für den guten Willen ;-)

    Greets,
    Chris

    franky_n

    • Experte
    • Beiträge: 4.950
    Bestellung von deaktivierten Artikeln
    Antwort #6 am: 15. September 2010, 06:17:02
    Hallo baustelle,

    dafür war der Fix eigentlich gedacht um bei rot schalten es aus den kompletten Körben zu entfernen...
    Scheint wohl nicht geklappt zu haben obwohl ich den Fehler noch nicht sehe...

    EDIT: Naja werde es mal selber ausprobieren. Ansonsten ist der Drops wohl noch lange nicht gelutscht.

    Viele Grüße

    Franky

    franky_n

    • Experte
    • Beiträge: 4.950
    Bestellung von deaktivierten Artikeln
    Antwort #7 am: 15. September 2010, 07:00:24
    Hallo Zusammen,

    so ich habe fertig!

    Was falsch war ist diese Zeile in Z.105:

    Code: PHP  [Auswählen]
      $shoppingCart->remove_product($_GET['pID']);
    das muss heissen:

    Code: PHP  [Auswählen]
      $shopping_cart_func->remove_product($_GET['pID']);
    Dann werden die Warenkörbe von diesen Artikeln befreit.
    Lediglich eine Sache ist dabei wichtig, der Kunde darf gerade in dem Moment nicht online sein, ansonsten bleibt der Warenkorb in der Session gespeichert. Das kann ich aber nicht verhindern...

    Bedeutet beim Testen einmal abmelden und wieder neu anmelden und siehe da das Produkt ist bei allen Kunden aus dem Warenkorb entfernt! ;)

    Viele Grüße

    Franky

    baustelle

    • Fördermitglied
    • Beiträge: 1.622
    Bestellung von deaktivierten Artikeln
    Antwort #8 am: 15. September 2010, 07:09:36
    [...] und siehe da das Produkt ist bei allen Kunden aus dem Warenkorb entfernt! ;)

    Wehe wenn nicht... dann entferne ich dich aus meiner Liste der "Best proggers im www"  :PP

    Ich geh dann jetzt mal shoppen, also nach dem Umbau.

    Greets,
    Chris

    Thomas

    • Fördermitglied
    • Beiträge: 1.587
    Bestellung von deaktivierten Artikeln
    Antwort #9 am: 15. September 2010, 07:17:35
    Oha, das sollte man ja direkt einspielen!  :o  Danke wiedermal Franky, werds später mal testen.

    Gruß

    baustelle

    • Fördermitglied
    • Beiträge: 1.622
    Bestellung von deaktivierten Artikeln
    Antwort #10 am: 15. September 2010, 07:25:23
    "Ihr Warenkorb ist sowas von leer!"

    PERFEKT, Franky!  :thumbs:

    Danke dir :worship:
    Chris

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Bestellung von deaktivierten Artikeln
    Antwort #11 am: 15. September 2010, 08:04:21
    und was passiert, wenn es ein Artikel mit Optionen ist ?

    franky_n

    • Experte
    • Beiträge: 4.950
    Bestellung von deaktivierten Artikeln
    Antwort #12 am: 15. September 2010, 09:17:47
    Hallo GTB,

    dann wirds auch gelöscht... :)

    Siehe:

    Code: PHP  [Auswählen]
     xtc_db_query("delete from " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " where products_id = '" . $products_id . "'");
    Viele Grüße
    Franky

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Bestellung von deaktivierten Artikeln
    Antwort #13 am: 15. September 2010, 09:43:07
    hast du das auch getestet ?

    franky_n

    • Experte
    • Beiträge: 4.950
    Bestellung von deaktivierten Artikeln
    Antwort #14 am: 15. September 2010, 09:45:08
    Hallo GTB,

    darum hatte ich geschrieben das es mal andere testen sollen.
    Warum soll ich immer die ganze Arbeit machen? ;)
    Teste Du doch mal! :)

    Viele Grüße

    Franky

    4 Antworten
    3602 Aufrufe
    09. März 2016, 13:15:26 von webald
    5 Antworten
    4814 Aufrufe
    05. Oktober 2011, 21:40:56 von Cookie
    9 Antworten
    4928 Aufrufe
    09. Dezember 2011, 19:55:10 von surftimer