diff --git a/models/Basket.php b/models/Basket.php index 1f6ff6c..3aad308 100755 --- a/models/Basket.php +++ b/models/Basket.php @@ -3,6 +3,8 @@ namespace artweb\artbox\ecommerce\models; use yii\base\Component; + use yii\helpers\Json; + use yii\web\Cookie; use yii\web\NotFoundHttpException; /** @@ -30,6 +32,16 @@ $this->session = \Yii::$app->session; if (!$this->session->has('basket')) { $this->session->set('basket', []); + } elseif(!empty($this->session->get('basket'))) { + $cookies = \Yii::$app->response->cookies; + $cookies->add( + new Cookie( + [ + 'name' => 'basket', + 'value' => Json::encode($this->session->get('basket')), + ] + ) + ); } parent::__construct($config); } @@ -131,6 +143,19 @@ public function setData(array $data) { $this->session->set('basket', $data); + $cookies = \Yii::$app->response->cookies; + if(empty($data)) { + $cookies->remove('basket'); + } else { + $cookies->add( + new Cookie( + [ + 'name' => 'basket', + 'value' => Json::encode($data), + ] + ) + ); + } } /** -- libgit2 0.21.4