webmensch: Warenkorb enthalten Artikel mit Rabatt

Ich habe einen Online Shop mit PHP / MySQL Programmiert.
Um Artikel ID und Menge zu speichern benutzte ich eine Session:
$_SESSION['basket'][$c]=array('artid'=>$artid , 'quantity'=>$quantity);

Nachdem der Shop fertig ist kommen leider unerwartete Änderungen hinzu und ich suche eine elegante Lösung um nicht zuviel ändern zu müssen.

Und zwar kann der Kunde sich auf einer Seite Sparpakete selbst zusammenstellen indem er nach und nach Produkte hinzufügen kann.

Auf diese Produkte bekommt er dann später 10% Rabatt.

Also im Warenkorbe wären dann einzelne Artikel (ohne Rabatt) und Sparpakete (mit Rabatt) gemischt.

Nur wie unterscheide ich später diese Artikel mit und ohne Rabatt ?

Bin ich jetzt gezwungen meine Session Variable umzukremplen und im array rabatt hinzuzufügen ?

Dann wäre bei einzelne Artikel(also nicht sparpaktet) der wert 0 gespeichert und bei Sparpaktet der Wert 10

Was haltet ihr von dieser Lösung bzw. könnt ihr mir eine andere empfehlen ?

  1. Mahlzeit webmensch,

    Und zwar kann der Kunde sich auf einer Seite Sparpakete selbst zusammenstellen indem er nach und nach Produkte hinzufügen kann.

    Auf diese Produkte bekommt er dann später 10% Rabatt.

    Bekommt er IMMER Rabatt auf diese Produkte (also ist der Rabatt eine Eigenschaft des Produkts an sich) oder NUR im Rahmen der aktuellen Bestellung (also ist der Rabatt eine Eigenschaft der Produkt-Bestellung-Kombination)?

    Nur wie unterscheide ich später diese Artikel mit und ohne Rabatt ?

    Indem Du Dir selbst klar darüber wirst, wo genau und warum genau der Rabatt eine Rolle spielt.

    Bin ich jetzt gezwungen meine Session Variable umzukremplen und im array rabatt hinzuzufügen ?

    Ggf. (s.o.) ja.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Bekommt er IMMER Rabatt auf diese Produkte (also ist der Rabatt eine Eigenschaft des Produkts an sich) oder NUR im Rahmen der aktuellen Bestellung (also ist der Rabatt eine Eigenschaft der Produkt-Bestellung-Kombination)?

      Der Rabatt ist eigentschaft der Produkt-Bestellung-Kombination

      1. Hi,

        Der Rabatt ist eigentschaft der Produkt-Bestellung-Kombination

        Gut, und wie und wo ermittelst du, ob eine Kombiation Rabatt erhaelt oder nicht?

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“
        1. Hi,

          Der Rabatt ist eigentschaft der Produkt-Bestellung-Kombination

          Gut, und wie und wo ermittelst du, ob eine Kombiation Rabatt erhaelt oder nicht?

          MfG ChrisB

          Aufjedenfall ist dieser Rabatt keine Artikeleigenschaft, da Artikel gleichzeitig einzeln(ohne Rabatt) oder als Sparpaket (ink. Rabatt) verfügbar sind.

          Sieht wohl danach aus, daß ich zusätzlich im Array den Rabatt mitangeben muß.

          Dachte vielleicht es gäbe eine andere Lösung.

      2. Mahlzeit webmensch,

        Bekommt er IMMER Rabatt auf diese Produkte (also ist der Rabatt eine Eigenschaft des Produkts an sich) oder NUR im Rahmen der aktuellen Bestellung (also ist der Rabatt eine Eigenschaft der Produkt-Bestellung-Kombination)?

        Der Rabatt ist eigentschaft der Produkt-Bestellung-Kombination

        Dann kommst Du nicht drumherum, Deinen Warenkorb um diese Eigenschaft zu erweitern (in welcher Form auch immer).

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|