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 | /** | ... | ... |