From 363d62a0eb6870baac634ecb869e3db9c7cbc706 Mon Sep 17 00:00:00 2001 From: yarik Date: Tue, 6 Dec 2016 13:01:44 +0200 Subject: [PATCH] Added basket cookies --- models/Basket.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+), 0 deletions(-) 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