Membuat Toko Online dengan Laravel 10 – #15 Membuat Shopping Cart – Part 2
Pada bagian kedua dari pembuatan shopping cart di toko online dengan Laravel 10, kita akan melanjutkan pembahasan tentang bagaimana cara membuat fungsi untuk menambahkan, menghapus, dan mengupdate keranjang belanja yang telah dibuat sebelumnya.
Fungsi Menambahkan Barang ke Keranjang Belanja
Untuk menambahkan barang ke keranjang belanja, kita perlu membuat sebuah fungsi di dalam controller yang akan meng-handle proses tersebut. Fungsi ini akan menerima data barang yang ingin ditambahkan dan kemudian memasukkannya ke dalam session keranjang belanja.
public function tambahKeKeranjang(Request $request) {
$produkId = $request->input('produk_id');
$jumlah = $request->input('jumlah');
$keranjangBelanja = session()->get('keranjang_belanja');
if(!$keranjangBelanja) {
$keranjangBelanja = [
$produkId => $jumlah
];
} else {
if(isset($keranjangBelanja[$produkId])) {
$keranjangBelanja[$produkId] += $jumlah;
} else {
$keranjangBelanja[$produkId] = $jumlah;
}
}
session()->put('keranjang_belanja', $keranjangBelanja);
return redirect()->back()->with('sukses', 'Produk berhasil ditambahkan ke keranjang belanja');
}
Fungsi Menghapus Barang dari Keranjang Belanja
Untuk menghapus barang dari keranjang belanja, kita perlu membuat fungsi baru di dalam controller yang akan meng-handle proses tersebut. Fungsi ini akan menerima data barang yang ingin dihapus dari keranjang belanja dan kemudian menghapusnya dari session keranjang belanja.
public function hapusDariKeranjang($id) {
$keranjangBelanja = session()->get('keranjang_belanja');
if(isset($keranjangBelanja[$id])) {
unset($keranjangBelanja[$id]);
}
session()->put('keranjang_belanja', $keranjangBelanja);
return redirect()->back()->with('sukses', 'Produk berhasil dihapus dari keranjang belanja');
}
Fungsi Mengupdate Jumlah Barang di Keranjang Belanja
Terakhir, kita perlu membuat fungsi untuk mengupdate jumlah barang di keranjang belanja. Fungsi ini akan menerima data barang yang ingin diupdate dan jumlah baru untuk barang tersebut, kemudian mengupdate data tersebut di dalam session keranjang belanja.
public function updateKeranjang(Request $request) {
$jumlah = $request->input('jumlah');
if($jumlah && is_array($jumlah)) {
foreach($jumlah as $produkId => $value) {
$keranjangBelanja[$produkId] = $value;
&
Kira kira ada payment bang?
Min mau tanya, saya ijin buat clone projeknya sebelumnya. Tapi waktu saya run di google kok tidak bisa ngerespon ya aplikasi laravel online shopnya? Hanya bisa klik keranjang saja trs disuruh login setelah itu error
akhir nya upload jg, beres brp video lg bang