Commit 363d62a0eb6870baac634ecb869e3db9c7cbc706
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 | /** | ... | ... |