In this tutorial, we will learn how to remove products from a wishlist.
Let's explore the process of removing products from a wishlist.
Creating a Function in the Wishlist Controller
First, go to the Wishlist Controller and create a function:
public function removeProductFromWishlist(Request $request)
{
$rowId = $request->rowId;
Cart::instance(`wishlist`)->remove($rowId);
return redirect()->route('wishlist.list');
}
Defining a Route for Removing Products
Next, create a route for this:
Route::delete('/wishlist/remove',[WishlistController::class,'removeProductFromWishlist'])->name('wishlist.remove');
Creating a Form in the Wishlist View
Now, go to the wishlist.blade.php file and create a form:
<form id=`deleteFromWishlist` action=`{{route('wishlist.remove')}}` method=`POST`>
@csrf
@method('delete')
<input type=`hidden` id=`rowId` name=`rowId` />
</form>
Creating a JavaScript Function
Create a JavaScript function:
@push('scripts')
<script>
function removeFromWishlist(rowId)
{
$(`#rowId`).val(rowId);
$(`#deleteFromWishlist`).submit();
}
</script>
@endpush
Calling the JavaScript Function
Call this function from the remove icon:
<a href=`javascript:void(0)` class=`icon` onclick=`removeFromWishlist('{{$item->rowId}}')`>
<i class=`fas fa-times`></i>
</a>
Testing the Remove Product Functionality
Now that we've completed the setup, let's test it. Refresh the page and remove a product from the wishlist by clicking the icon. You will see that the product has been removed.
Clearing All Items from the Wishlist
Now, let's make the `Clear all items` link functional.
Creating a Function in the Wishlist Controller
Go to the Wishlist Controller and create a new function:
public function clearWishlist()
{
Cart::instance(`wishlist`)->destroy();
return redirect()->route('wishlist.list');
}
Defining a Route for Clearing All Items
Create a route for this function:
Route::delete('/wishlist/clear',[WishlistController::class,'clearWishlist'])->name('wishlist.clear');
Creating a Form in the Wishlist View
Go to the wishlist.blade.php file and add a form:
<form id=`clearWishlist` action=`{{route('wishlist.clear')}}` method=`POST`>
@csrf
@method('delete')
</form>
Creating a JavaScript Function
Add a JavaScript function:
@push('scripts')
<script>
function clearWishlist()
{
$(`#clearWishlist`).submit();
}
</script>
@endpush
Calling the JavaScript Function
Call this JavaScript function from the `Clear all items` link on click event:
<div class=`row`>
<div class=`col-md-12 text-end`>
<a href=`javascript:void(0)` onclick=`clearWishlist()`>Clear All Items</a>
</div>
</div>
Testing the Clear All Items Functionality
Now that we've completed the setup, let's test it. Refresh the page and click the `Clear all items` link. You will see that all items have been removed from the wishlist.
By following these steps, you can successfully remove products from a wishlist.






