Commit 363d62a0eb6870baac634ecb869e3db9c7cbc706

Authored by Yarik
1 parent ffdb531c

Added basket cookies

Showing 1 changed file with 25 additions and 0 deletions   Show diff stats
models/Basket.php
... ... @@ -3,6 +3,8 @@
3 3 namespace artweb\artbox\ecommerce\models;
4 4  
5 5 use yii\base\Component;
  6 + use yii\helpers\Json;
  7 + use yii\web\Cookie;
6 8 use yii\web\NotFoundHttpException;
7 9  
8 10 /**
... ... @@ -30,6 +32,16 @@
30 32 $this->session = \Yii::$app->session;
31 33 if (!$this->session->has('basket')) {
32 34 $this->session->set('basket', []);
  35 + } elseif(!empty($this->session->get('basket'))) {
  36 + $cookies = \Yii::$app->response->cookies;
  37 + $cookies->add(
  38 + new Cookie(
  39 + [
  40 + 'name' => 'basket',
  41 + 'value' => Json::encode($this->session->get('basket')),
  42 + ]
  43 + )
  44 + );
33 45 }
34 46 parent::__construct($config);
35 47 }
... ... @@ -131,6 +143,19 @@
131 143 public function setData(array $data)
132 144 {
133 145 $this->session->set('basket', $data);
  146 + $cookies = \Yii::$app->response->cookies;
  147 + if(empty($data)) {
  148 + $cookies->remove('basket');
  149 + } else {
  150 + $cookies->add(
  151 + new Cookie(
  152 + [
  153 + 'name' => 'basket',
  154 + 'value' => Json::encode($data),
  155 + ]
  156 + )
  157 + );
  158 + }
134 159 }
135 160  
136 161 /**
... ...