Вообщем суть в следующем, есть корзина, есть кнопка добавить в корзину. На кнопке весит data-request="onAddToCart"
Ниже сам onAddToCart
public function onAddToCart(){
$product = \vladimir\catalog\Models\Product::find( Input::get('id') );
if (Input::get('qty') !== null){
$qty = Input::get('qty');
}
$item = new \stdClass();
$item->id = $product->id;
$item->name = $product->name;
$item->price = $product->price;
$item->img = $product->images[0]->path;
$item->qty = count($this->getItems());
Session::push('cart', $item);
return [
'@.cart-items' => $this->renderPartial('@cart-item.htm', ['item' => $item]),
'.total-price' => $this->renderPartial('@cart-price.htm', ['item' => $this->Total()]),
'.qty-cart' => $this->renderPartial('@qty-cart.htm', ['qty' => count($this->getItems())])
];
}
все прекрасно работает, когда кликаю по кнопке в сессию добавляется объект продукта, и все обновляется и рендрится.
Но мне нужно чтобы я мог удалять один элемент из корзины по клику на кнопке Удалить
Есть кнопка Удалить, на ней data-request="onClearOneItemCart"
Ниже сам onClearOneItemCart
public function onClearOneItemCart(){
foreach ($this->getItems() as $key => $value) {
if($value->id == Input::get('id')){
Session::pull('cart.'.$key);
}
}
return [
'@.cart-items' => $this->renderPartial('@cart-item.htm')
];
}
тут я пробегаюсь в цикле по сессии и ищу нужный удаляемый объект по его id
Все тоже работает, но удаляется только после перезагрузки, а мне нужно чтобы он сразу удалил и отрендрил.
Подскажите пожалуйста как реализовать?