Carton is the missing cart package for Laravel.
Install package via composer
composer require pajaeu/cartonThen publish configuration and migrations
php artisan carton:install// create cart using custom currency code
Carton::createCart('CZK');
// if we do not pass currency code, it uses default one specified in config
Carton::createCart();
// then we need to create new data
$data = new CartLineData(
'Product 1',
300,
21,
[
'size' => [
'XS',
],
]
);
// so we can pass it to the addLine method also with the quantity parameter
Carton::addLine($data, 2);
// we can recalculate cart's totals so we have everything right (it is being made automatically when calling adding new line)
Carton::recalculate();
// then we can get the cart model and its properties
$cart = Carton::getCart();
echo 'Total items in cart: '.$cart->count;
echo 'Totals to pay: '.$cart->grand_total_with_vat.' '.$cart->currency_code;
// we can also get some current cart's properties using the facade
echo 'Totals to pay: '.Carton::getCartTotal().' '.Carton::getCartCurrencyCode();
// we can access lines on the cart model
$lines = $cart->lines;
// or you can get lines using the facade (returns empty collection if cart is not created yet)
$lines = Carton::getCartLines();The MIT License (MIT). Please see License File for more information.
