コード例 #1
0
ファイル: BasketGridView.php プロジェクト: dlds/yii2-ecom
 /**
  * @inheritdoc
  */
 public function init()
 {
     if (!isset($this->dataProvider)) {
         $this->dataProvider = new ArrayDataProvider(['allModels' => $this->basket->getItems($this->itemType), 'pagination' => false]);
     }
     parent::init();
 }
コード例 #2
0
ファイル: Session.php プロジェクト: dlds/yii2-ecom
 /**
  * @inheritdoc
  */
 public function save(Basket $basket)
 {
     $sessionData = serialize($basket->getItems());
     $basket->session->set($this->basketVar, $sessionData);
 }
コード例 #3
0
ファイル: Database.php プロジェクト: dlds/yii2-ecom
 /**
  * @param \dlds\ecom\Basket $basket
  * @return void
  */
 public function save(Basket $basket)
 {
     $identifier = $this->getIdentifier($basket->getSession()->getId());
     $items = $basket->getItems();
     $sessionData = serialize($items);
     $command = $this->db->createCommand();
     if (empty($items) && true === $this->deleteIfEmpty) {
         $command->delete($this->table, [$this->idField => $identifier]);
     } else {
         $command->setSql("\n                REPLACE {{{$this->table}}}\n                SET\n                    {{{$this->dataField}}} = :val,\n                    {{{$this->idField}}} = :id\n            ")->bindValues([':id' => $identifier, ':val' => $sessionData]);
     }
     $command->execute();
 }