Mir ist gerade noch eine Diskrepanz aufgefallen (Bug ?).
Es gibt ja eine Prüfung auf folgende vier Dinge bei Legen eines Artikels in den Warenkorb:
- Lagerbestand überschritten
- Maximale erlaubte Stückzahl für einen Artikel überschritten
- Mindestbestellwert (customers_status_min_order)
- Höchstbestellwert (customers_status_max_order)
In Fall 1. wird die Stückzahl im Warenkorb nicht automatisch angeglichen aber eine Meldung ausgegeben, daß nicht genug auf Lager ist.
In Fall 2. wird die Stückzahl automatisch angeglichen und mit meiner Implementation nun auch eine Meldung ausgegeben.
In Fall 3. wird eine Meldung ausgegeben.
In Fall 4. wird eine Meldung ausgegeben.
Trifft Fall 1. und 2. zu und ist die max. erlaubte Stückzahl für einen Artikel höher als der Lagerbestand werden beide Meldungen ausgegeben, die für Überschreitung des Lagerbestandes wie auch die neue von mir vorgeschlagene.
Das ist natürlich dann nicht korrekt, da die Stückzahl zwar sowohl den Lagerbestand als auch die max. erlaubte Stückzahl pro Artikel überschreitet, der Stückzahl-Wert jedoch nicht angepasst wird.
Dies wäre auch der Fall ohne meine Implementation, es fällt nur mangels Meldung nicht auf.
Lösungsvorschlag:Den vorgeschlagenen Code für
/shopping_cart.php erweitern zu:
// BOC test for error message in shopping cart, noRiddleif(isset($_SESSION['err_max_prod']) && $_SESSION['any_out_of_stock'] == 0){ $smarty->assign('error_max_prod', MAX_PROD_QTY_EXCEEDED
);}unset($_SESSION['err_max_prod']);// EOC test for error message in shopping cart, noRiddle Damit wird die neue von mir hier vorgeschlagene Meldung nur ausgegeben wenn
- die max. erlaubte Stückzahl für einen Artikel überschritten ist
- der Lagerbestand nicht überschritten ist;
ist dieser überschritten wird nur die Lagermeldung ausgegeben
Da nun aber die Lagerwarnmeldung auch kommt wenn der Lagerbestand von Attributen überschritten wurde, ist die Lösung nicht perfekt.
Es kommt ja bei Überschreitung des Lagerbestandes (Fall 1.) und gleichzeitiger Überschreitung der max. erlaubten Stückzahl für einen Artikel (Fall 2.) nur die Lagermeldung.
Da die Überschreitung des Lagerbestandes sich jedoch auf Attribute bezog,
die Überschreitung der max. erlaubten Stückzahl für einen Artikel jedoch auf den Hauptartikel,
wird die Haupt-Artikel-Stückzahl automatisch reduziert, es kommt aber nicht die begehrte Meldung.
Dazu habe ich mom. noch keine Idee.
Jemand ?
Die Fälle wo
customers_status_min_order unterschritten bzw.
customers_status_max_order überschritten wird und gleichzeitig Fall 1. und/oder Fall 2. zutreffen sind kein Problem.
Es werden dann lediglich die nötigen Meldungen ausgegeben.
Ganz schön komplex das ganze.
Liegt u.a. auch daran, daß
modified eCommerce bzgl. Attributen keine gute Lagerverwaltung hat.
Da müsste wohl doch mal ein Master-Slave-Implementation rein
Gruß,
noRiddle