- Notifications
You must be signed in to change notification settings - Fork8
A stable basket for an Laravel e-commerce website
License
Lenius/laravel-basket
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Laravel Facade and Service Provider for Lenius\Basket
Usingcomposer:
$ composer require lenius/laravel-basket$ composer require lenius/laravel-basket^4.0 (PHP7.4)
Set up demo with artisan
$ php artisan make:auth$ php artisan make:ecommerce
Install npm dependencies
$ npm install v-money$ npm install vue-sortable$ npm install vuedraggable$ npm run dev$ php artisan serve
Openhttp://localhost:8000/basket
You should then be good to go and be able to access the basket using the following static interface:
//Format array of required info for item to be added to basket...$items =array('id' =>1,'name' =>'Dog','price' =>120.00,'quantity' =>1,'weight' =>200);//Make the insert...Basket::insert(newItem($items));//Let's see what we have got in their...dd(Basket::totalItems());
Another key you can pass to your insert method is 'tax'. This is a percentage which you would like to be added ontothe price of the item.
In the below example we will use 25% for the tax rate.
Basket::insert(newItem(array('id' =>'mouseid','name' =>'Mouse','price' =>100,'quantity' =>1,'tax' =>25,'weight' =>200)));
You can update items in your Basket by updating any property on a Basket item. For example, if you were within aBasket loop then you can update a specific item using the below example.
foreach (Basket::contents()as$item) {$item->name ='Foo';$item->quantity =1;}
You can remove any items in your Basket by using theremove()
method on any Basket item.
foreach (Basket::contents()as$item) {$item->remove();}
You can completely empty/destroy the Basket by using thedestroy()
method.
Basket::destroy()
You can loop the Basket contents by using the following method
Basket::contents();
You can also return the Basket items as an array by passing true as the first argument
Basket::contents(true);
Basket::totalItems();
By default this method will return all items in the Basket as well as their quantities. You can passtrue
as the first argument to get all unique items.
Basket::totalItems(true);
$Basket->total();
By default thetotal()
method will return the total value of the Basket as afloat
, this will includeany item taxes. If you want to retrieve the Basket total without tax then you can do so by passing false to thetotal()
method
Basket::total(false);
Basket::has($itemIdentifier);
Basket::item($itemIdentifier);
There are several features of the Basket items that may also help when integrating your Basket.
You can retrieve the total value of a specific Basket item (including quantities) using the following method.
Basket::total();
By default, this method will return the total value of the item plus tax. So if you had a product which costs 100,with a quantity of 2 and a tax rate of 20% then the total returned by this method would be 240.
You can also get the total minus tax by passing false to thetotal()
method.
Basket::total(false);
This would return 200.
You can check if a Basket item has options by using thehasOptions()
method.
if ($item->hasOptions()) {// We have options}
$item->remove();
$item->weight();
$item->toArray();
About
A stable basket for an Laravel e-commerce website