Итак, я хочу иметь возможность просматривать мою корзину на одной из моих страниц. Я могу просто «добавить в корзину», и значение количества товаров в моей корзине будет отображаться в правом верхнем углу моей страницы. Когда я go нажимаю на корзину, я получаю эту ошибку:
ErrorException Undefined variable: items. У меня есть следующий код:
Корзина. php:
class Cart {
public $items = null;
public $totalQty = 0;
public $totalPrice = 0;
public function __Construct($oldCart)
{
if ($oldCart) {
$this->$items = $oldCart->$items;
$this->$totalQty = $oldCart->$totalQty;
$this->$totalPrice = $oldCart->$totalPrice;
}
}
public function add($item, $id){
$storedItem = ['qty' => 0, 'price' => $item->price, 'item' => $item];
if($this->items) {
if (array_key_exists($id, $this->items)){
$storedItem = $this->items[$id];
}
}
$storedItem['qty'] ++;
$storedItem['price'] = $item->price * $storedItem['qty'];
$this->items[$id] = $storedItem;
$this->totalQty++;
$this->totalPrice += $item->price;
}
PostsController. php:
public function getCart() {
if (!Session::has('cart')) {
return view('posts.shopping-cart', ['post' => null]);
}
$oldCart = Session::get('cart');
$cart = new Cart($oldCart);
return view('posts.shopping-cart', ['post' => $cart->items, 'totalPrice'=> $cart->totalPrice]);
}
Payment.blade:
@if(Session::has('cart'))
<div class="row">
<div class="col-sm-6 col-md-6 col-md-offset-3 col-sm-0ffset-3">
<ul class="list-group">
@foreach($posts as $post)
<li class="list-group-item">
<span class="badge">{{ $post['qty']}}</span>
<strong>{{ $post['item']['title']}}</strong>
<span class="label label-success">{{$post['price']}}</span>
<div class="btn-group">
Web.api
Route::get('/shopping-cart', [ 'uses' => 'PostsController@getCart', 'as' => 'product.shoppingCart' ]);
Но когда я нажимаю ссылку на мою корзину, находящуюся в навигационной панели. php:
<a class="nav-link " href="{{ route('product.shoppingCart')}}">Cart
Cart {{ Session::has('cart') ? Session::get('cart')->totalQty : ''}}
, я получаю сообщение об ошибке неопределенной переменная предметов