54 lines
1.5 KiB
PHP
54 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Produk;
|
|
|
|
class CartController extends Controller
|
|
{
|
|
// Menampilkan Halaman Keranjang
|
|
public function index()
|
|
{
|
|
$cart = session()->get('cart', []);
|
|
return view('landing.cart', compact('cart'));
|
|
}
|
|
|
|
// Menambahkan Produk ke Session Keranjang
|
|
public function addToCart(Request $request)
|
|
{
|
|
$id = $request->id;
|
|
$produk = Produk::findOrFail($id);
|
|
|
|
$cart = session()->get('cart', []);
|
|
|
|
// Jika produk sudah ada di cart, tambahkan jumlahnya
|
|
if(isset($cart[$id])) {
|
|
$cart[$id]['quantity'] += $request->qty;
|
|
} else {
|
|
// Jika belum ada, masukkan data baru
|
|
$cart[$id] = [
|
|
"name" => $produk->nama_produk,
|
|
"quantity" => $request->qty,
|
|
"price" => $produk->harga,
|
|
"photo" => $produk->foto_produk
|
|
];
|
|
}
|
|
|
|
session()->put('cart', $cart);
|
|
return redirect()->back()->with('success', 'Produk berhasil masuk keranjang!');
|
|
}
|
|
|
|
// Menghapus Item dari Keranjang
|
|
public function remove(Request $request)
|
|
{
|
|
if($request->id) {
|
|
$cart = session()->get('cart');
|
|
if(isset($cart[$request->id])) {
|
|
unset($cart[$request->id]);
|
|
session()->put('cart', $cart);
|
|
}
|
|
return redirect()->back()->with('success', 'Produk dihapus dari keranjang');
|
|
}
|
|
}
|
|
} |