2017 © Pedro Peláez
 

library laravel-easycart

A simple & easy to use yet powerful laravel cart solution

image

cyvelnet/laravel-easycart

A simple & easy to use yet powerful laravel cart solution

  • Wednesday, July 4, 2018
  • by cyvelnet
  • Repository
  • 1 Watchers
  • 3 Stars
  • 35 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 9 Versions
  • 40 % Grown

The README.md

Laravel EasyCart

StyleCI Build Status Total Downloads Latest Stable Version Latest Unstable Version License, (*1)

This project is still under development, it is far from ready for production., (*2)

Installation

Require this package with composer using the following command:, (*3)

composer require cyvelnet/laravel-easycart

After updating composer, add the ServiceProvider to the providers array in config/app.php, (*4)

Cyvelnet\EasyCart\EasyCartServiceProvider::class,

and register Facade And optionally add a new line to the aliases array:, (*5)

'EasyCart' => Cyvelnet\EasyCart\Facades\EasyCart::class,

Usage

EasyCart::add()

Add new product or update quantity on existing cart item, (*6)


// Add product to cart EasyCart::add($id, $name, $price, $qty); // Add product to cart with attributes & weight EasyCart::add($id, $name, $price, $qty, $attributes = [], $weight); // Add multiple products EasyCart::add([ [ 'id' => '1' 'name' => 'Product 1' 'price' => '199.99' 'qty' => '1', 'attributes' => ['color' => 'red'], 'weight' => 0.5 ], [ 'id' => '2' 'name' => 'Product 2' 'price' => '299.99' 'qty' => '1' ] ]);

EasyCart::update()

Update cart item * An unique rowId is assigned to each cart item, usegetRowId()on cart item to retrieves rowId*, (*7)


// update qty EasyCart::update($rowId, $qty); // update other EasyCart::update($rowId, [ 'attributes' => ['color' => 'green'], 'qty' => 2, 'price' => 399.99 ]);

EasyCart::remove()

Remove an item from cart, (*8)


EasyCart::remove($rowId);

EasyCart::get()

Get a row by rowId, (*9)


EasyCart::get($rowId);

EasyCart::destroy()

Wipe cart completely, (*10)


EasyCart::destroy();

EasyCart::qty()

Get the total number of quantity in cart., (*11)


EasyCart::qty();

EasyCart::subtotal()

Get the cart subtotal before a condition value is being added, use EasyCart::total() to retrieves the final price, (*12)


EasyCart::subtotal();

EasyCart::total()

Get the cart total with condition values calculated, (*13)


EasyCart::total();

EasyCart::items()

Get the cart items EasyCart::content() is an aliase to EasyCart::items(), Cyvelnet\EasyCart\Collections\CartItemCollection instance is return, (*14)


EasyCart::items()

EasyCart::weight()

Get the cart total weight, (*15)


EasyCart::weight()

Filtering

EasyCart::find()

Find a cart item by product id, a Cyvelnet\EasyCart\CartItem instance is return, (*16)


EasyCart::find($id);

EasyCart::findByIds()

Find a cart item by an array of ids, a Cyvelnet\EasyCart\Collections\CartItemCollection instance is return, (*17)


EasyCart::findByIds($ids = []);

Condition

EasyCart support condition, which is essential to ECommerces application, either provides discount or add additional prices are supported., (*18)

EasyCart::condition()

Adding a condition is simple, just instantiate a Cyvelnet\EasyCart\CartCondition object and you are ready to go., (*19)

// Add a 50% discount to cart

$fiftyPercentDiscount = new CartCondition($name = '$50 Off', $value = '-50') // you have to use a - (minus sign) to indicate a discount is expected

EasyCart::condition($fiftyPercentDiscount);

Sometimes you want to only give an discount to only to a selected range of products instead of apply to the whole cart, it is easy, (*20)


$fiftyPercentDiscount = new CartCondition($name = '$50 Off', $value = '-50'); $fiftyPercentDiscount->onProduct([1,2,3,4]); EasyCart::condition($fiftyPercentDiscount);

Life is not always easy, what if you need to give an discount of 20% but with a maximum up to $50 ?, (*21)


$fiftyPercentDiscount = new CartCondition($name = '20% Off', $value = '-20'); $fiftyPercentDiscount->maxAt(50); EasyCart::condition($fiftyPercentDiscount);

EasyCart::removeConditionByType()

Remove condition by type, (*22)


EasyCart::removeConditionByType($type);

EasyCart::removeConditionByName()

Remove condition by name, (*23)


EasyCart::removeConditionByName($name);

Instances

EasyCart support multiple instances, no extra configuration is needed, just point it to instance and it works the same as normal, (*24)


EasyCart::instance('wishlist')->add($id, $name, $price, $qty); EasyCart::instance('wishlist')->destroy();

Instances Expiration

Sometimes a cart expiration is needed, maybe for reservation, or other usage, this is handful in EasyCart, (*25)


// create a new instances with 15 minutes expiration EasyCart::instance('reservation', \Carbon::now()->addMinutes(15));

To verify whether a cart is expired, use EasyCart::isExpired(), (*26)

``` php, (*27)

// check if a cart is expired EasyCart::instance('reservation')->isExpired();, (*28)


Since you may expire a cart, you might want to make a countdown too ```php EasyCart::instance('reservation')->expirationTimestamp();

The Versions

04/07 2018

dev-master

9999999-dev

A simple & easy to use yet powerful laravel cart solution

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar cyvelnet

shopping cart laravel cart easycart

04/07 2018

v0.4

0.4.0.0

A simple & easy to use yet powerful laravel cart solution

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar cyvelnet

shopping cart laravel cart easycart

04/07 2018

dev-analysis-8Avg5y

dev-analysis-8Avg5y

A simple & easy to use yet powerful laravel cart solution

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar cyvelnet

shopping cart laravel cart easycart

04/07 2018

dev-analysis-qojdOb

dev-analysis-qojdOb

A simple & easy to use yet powerful laravel cart solution

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar cyvelnet

shopping cart laravel cart easycart

04/07 2018

dev-analysis-8jwdvy

dev-analysis-8jwdvy

A simple & easy to use yet powerful laravel cart solution

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar cyvelnet

shopping cart laravel cart easycart

02/07 2018

v0.3

0.3.0.0

A simple & easy to use yet powerful laravel cart solution

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar cyvelnet

shopping cart laravel cart easycart

27/04 2018

v0.2

0.2.0.0

A simple & easy to use yet powerful laravel cart solution

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar cyvelnet

shopping cart laravel cart easycart

27/04 2018

dev-analysis-zOYaWR

dev-analysis-zOYaWR

A simple & easy to use yet powerful laravel cart solution

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar cyvelnet

shopping cart laravel cart easycart

16/10 2017

v0.1

0.1.0.0

A simple & easy to use yet powerful laravel cart solution

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar cyvelnet

shopping cart laravel cart easycart