darryldecode / laravelshoppingcart

Shopping Cart Implementation for Laravel Framework
1.33k stars 435 forks source link

2 cart in same time L5.4 #86

Open Doremidon opened 7 years ago

Doremidon commented 7 years ago

Hello.

And before I have problem with session. I change file "/vendor/darryldecode/cart/src/Darryldecode/Cart/Cart.php"

protected function save($cart)
{
    $this->session->put($this->sessionKeyCartItems, $cart);

    $this->session->save(); // I'm add this line to code
}

After refresh page without this line Cart was clear.

I want to use 2 cart in same time. Laravel 5.4

In file "/app/Providers/AppServiceProvider.php" I'm write: class AppServiceProvider extends ServiceProvider { public function register() { $this->app->singleton('cart_main', function($app) {

        $storage = $app['session']; // laravel session storage
        $events = $app['events']; // laravel event handler
        $instanceName = 'cart_main'; // your cart instance name
        $session_key = $instanceName . $storage->getId(); // your unique session key to hold cart items
        return new \Cart(
            $storage,
            $events,
            $instanceName,
            $session_key
        );
    });

    $this->app->singleton('cart_banquet', function($app)
    {

        $storage = $app['session']; // laravel session storage
        $events = $app['events']; // laravel event handler
        $instanceName = 'cart_banquet'; // your cart instance name
        $session_key = $instanceName . $storage->getId(); // your unique session key to hold cart items
        return new \Cart(
            $storage,
            $events,
            $instanceName,
            $session_key
        );
    });

} }

In code I use $cart_main = app('cart_main'); $cart_banquet = app('cart_banquet');

In fact this is same Cart. All changes in one cart app('cart_main') reflected on another cart app('cart_banquet').

Can you help me to divide it?

frezno commented 7 years ago

Isn't it Instances what you are looking for (multiple carts):

https://github.com/darryldecode/laravelshoppingcart#instances

Doremidon commented 7 years ago

@frezno I do it in same way. Where I'm make a mistake?

shirshak55 commented 6 years ago

Please make sure your session key is unique :)

AtikRahman12 commented 5 years ago

screenshot_1 How can i solve this?