提交时清空购物车内容
Empty cart content when submitted
我有一个非常基本的购物车,在提交时会简单地发送一封电子邮件。但是我无法清空物品,我在结帐页面上有一个 if 语句来清空它,但它似乎无法正常工作。
这是 blade 的代码:
<article class="lead-in-aside">
@if(session()->has('success'))
(Cart::content('empty'));
@endif
<h2>Check Out</h2>
<form action="{{ route('checkout submit') }} " method="POST">
{{ csrf_field()}}
<fieldset>
<div class="table-wrapper">
<div class="table-inner">
<table class="table-content">
<tbody>
<tr>
<th>Title</th>
<th>Name</th>
{{-- <th>Quantity</th> --}}
</tr>
@foreach (Cart::content() as $item)
<tr class="highlight">
<td>{{$item->model->title}} </td>
<input type="hidden" name="{{$item->model->title}}">
<td>{{$item->model->name}}</td>
<input type="hidden" name="{{$item->model->name}}">
{{-- <td>{{ $item->qty }}</td> --}}
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</fieldset>
控制器中的代码如下:
Mail::send('emails.rental', [
'name'=>$request->firstname,
'company'=>$request->companyname,
'phone'=>$request->phone,
'email'=>$request->email,
'msg'=>$request->message,
'rental'=>$request->name,
'pickup'=>$request->pickup_date,
'return'=>$request->return_date,
'location'=>$request->location
],
function($newRental) use ($request){
$newRental->from($request->email, $request->firstname);
});
// Session::flash('success', 'Your Email was Sent!');
return redirect()->back()->with('success', 'Your rental request has been sent');
}
我猜您正在使用 third-party 购物车包,例如 https://github.com/Crinsane/LaravelShoppingcart?
如果这是您正在使用的包,从文档来看它似乎是您应该用来清除购物车的 destroy() 函数?
我的建议是尝试在发送完电子邮件后在控制器中清除购物车,而不是在 blade 文件中。所以删除你的 blade 文件的这一部分:
@if(session()->has('success'))
(Cart::content('empty'));
@endif
你的控制器的末尾可能会变成这样:
Cart::destroy();
return redirect()->back()->with('success', 'Your rental request has been sent');
我有一个非常基本的购物车,在提交时会简单地发送一封电子邮件。但是我无法清空物品,我在结帐页面上有一个 if 语句来清空它,但它似乎无法正常工作。
这是 blade 的代码:
<article class="lead-in-aside">
@if(session()->has('success'))
(Cart::content('empty'));
@endif
<h2>Check Out</h2>
<form action="{{ route('checkout submit') }} " method="POST">
{{ csrf_field()}}
<fieldset>
<div class="table-wrapper">
<div class="table-inner">
<table class="table-content">
<tbody>
<tr>
<th>Title</th>
<th>Name</th>
{{-- <th>Quantity</th> --}}
</tr>
@foreach (Cart::content() as $item)
<tr class="highlight">
<td>{{$item->model->title}} </td>
<input type="hidden" name="{{$item->model->title}}">
<td>{{$item->model->name}}</td>
<input type="hidden" name="{{$item->model->name}}">
{{-- <td>{{ $item->qty }}</td> --}}
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</fieldset>
控制器中的代码如下:
Mail::send('emails.rental', [
'name'=>$request->firstname,
'company'=>$request->companyname,
'phone'=>$request->phone,
'email'=>$request->email,
'msg'=>$request->message,
'rental'=>$request->name,
'pickup'=>$request->pickup_date,
'return'=>$request->return_date,
'location'=>$request->location
],
function($newRental) use ($request){
$newRental->from($request->email, $request->firstname);
});
// Session::flash('success', 'Your Email was Sent!');
return redirect()->back()->with('success', 'Your rental request has been sent');
}
我猜您正在使用 third-party 购物车包,例如 https://github.com/Crinsane/LaravelShoppingcart?
如果这是您正在使用的包,从文档来看它似乎是您应该用来清除购物车的 destroy() 函数?
我的建议是尝试在发送完电子邮件后在控制器中清除购物车,而不是在 blade 文件中。所以删除你的 blade 文件的这一部分:
@if(session()->has('success'))
(Cart::content('empty'));
@endif
你的控制器的末尾可能会变成这样:
Cart::destroy();
return redirect()->back()->with('success', 'Your rental request has been sent');