2016-04-20 5 views
0

Ich baue eine E-Commerce-Website mit Laravel 5.2Kasse Formberechnung auf Basis von Radio-Button - Laravel 5.2

ich meine Produkte in meinen Warenkorb hinzufügen können, die in einer Sitzung gespeichert wird. Ich kann meinen Einkaufswagen anzeigen &, wenn ich bestätige, gehe ich auf eine Checkout-Seite.

Warenkorb (wie beabsichtigt): shopping-cart

All meine Artikel auf der Checkout-Seite ist nur noch in der Sitzung. Ist das eine gute Übung oder sollte ich Sachen in der Datenbank speichern, nachdem ich zur Checkout-Seite gegangen bin? .

Auf meiner Checkout-Seite habe ich ein paar Radio-Buttons, um die Versandart zu wählen. Ich möchte eine Berechnung basierend auf meiner Auswahl machen. Was ist der beste Weg, damit umzugehen? Ich möchte vermeiden, eine Absenden-Schaltfläche unterhalb der Radio-Schaltflächen zu setzen, um die Auswahl zu bestätigen. Ein wichtiger Hinweis ist, dass ich auch ein Feld für einen Gutschein-Code auf dieser Seite habe, den ich mit einer Get-Anfrage berechne. So erfrischend ist die Seite nicht wirklich eine Option, weil meine Couponberechnung weg ist.

Kasse Seite: (Radio-Buttons sind hier) enter image description here

2 Optionen ich denken kann: mit Javascript

  • Sprechen Sie die Berechnung auf der Client-Seite und versteckte Eingabefelder hinzufügen Wenn der Benutzer auf die Bestätigungsreihenfolge klickt, werden sie für Bestellungen in der Datenbanktabelle gespeichert.

  • Starten Sie das Speichern von Daten in der Datenbank nach dem Warenkorb, das Problem mit diesem Ansatz ist, dass eine Menge Daten noch fehlt. Wie die korrekte Versand-/Rechnungsadresse.

+0

Ist die Antwort akzeptabel? – Anderscc

+0

@Anderscc. Deine Antwort ist gut, deshalb habe ich sie aufgewertet. Aber ich suche mehr in der Möglichkeit, JQuery/Javascript für die Berechnung zu verwenden und meinen Warenkorb in der Sitzung zu behalten – Christophvh

Antwort

1

Ich habe kürzlich so etwas implementiert.

Ich habe eine Warenkorb-Tabelle.

Cart Table

und und ich habe einen Auftrag Tisch.

Orders table

Für mich machte es mehr Sinn, den Wagen in einer Tabelle gespeichert zu haben, wie ich leicht, was in der Warenkorb gelegt zu einem Auftrag war assoziieren könnte. Ich musste mir auch keine Sorgen machen, dass die Sitzung ausläuft, wenn sie Wochen später zurückkommen, werden sie ihren Wagen immer noch in dem Zustand haben, in dem sie ihn verlassen haben.

Wenn ein Benutzer den Kauf abschließt, aktualisiere ich die Warenkorb-Tabelle mit der entsprechenden order_id und markiere sie als eine vollständige Bestellung.

Es ist in der Auftragstabelle, wo ich Rechnungsstellung und Versandinformationen speichern.

Wenn ein Benutzer einen Gutschein eingibt, aktualisiere ich den Preis der Artikel in der Warenkorb-Tabelle. Ich erledige alle Coupon- und Versandkostenberechnung mit Ajax-Calls, um den Status der Seite zu erhalten.

Einer der Vorteile Ich fand den Warenkorb Tisch mit in meinem User-Modell ist ich eine Beziehung definieren könnte, die ich schnell alle Elemente in dem Benutzer Warenkorb erhalten erlauben würden,

public function cart() 
{ 
    return $this->hasMany('App\Cart')->where('complete', 0); 
} 

die mich dann erlauben würde, Laravels Summenfunktionalität für eine Sammlung zu verwenden

Hoffe, dies weist Sie etwas in die richtige Richtung.

Alle anderen Fragen geben mir nur einen Schrei.