Commit 1c8ebc9119f11afe2d80d1cccd3a3d2a08dc51b6

Authored by Karnovsky A
1 parent 00629bc9

Share functional

common/models/Share.php
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 2
3 namespace common\models; 3 namespace common\models;
4 4
  5 +use common\modules\product\models\Product;
5 use Yii; 6 use Yii;
6 7
7 class Share extends \yii\db\ActiveRecord 8 class Share extends \yii\db\ActiveRecord
@@ -22,8 +23,8 @@ class Share extends \yii\db\ActiveRecord @@ -22,8 +23,8 @@ class Share extends \yii\db\ActiveRecord
22 23
23 public function beforeSave($insert) { 24 public function beforeSave($insert) {
24 $this->user_id = Yii::$app->user->id; 25 $this->user_id = Yii::$app->user->id;
25 - $this->date_time = time();  
26 - $this->date = new \yii\db\Expression('NOW()'); 26 + $this->date_time = date('Y-m-d H:i:s');
  27 + $this->date = date('Y-m-d');
27 return parent::beforeSave($insert); 28 return parent::beforeSave($insert);
28 } 29 }
29 30
@@ -33,7 +34,7 @@ class Share extends \yii\db\ActiveRecord @@ -33,7 +34,7 @@ class Share extends \yii\db\ActiveRecord
33 34
34 public function getProduct() 35 public function getProduct()
35 { 36 {
36 - return $this->hasOne(Products::className(), ['id' => 'product_id']); 37 + return $this->hasOne(Product::className(), ['product_id' => 'product_id']);
37 } 38 }
38 39
39 public function getShareList() 40 public function getShareList()
frontend/controllers/IamController.php
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 2
3 namespace frontend\controllers; 3 namespace frontend\controllers;
4 4
  5 +use common\models\ShareSearch;
5 use Yii; 6 use Yii;
6 use yii\web\Controller; 7 use yii\web\Controller;
7 use yii\filters\AccessControl; 8 use yii\filters\AccessControl;
@@ -94,37 +95,43 @@ class IamController extends Controller @@ -94,37 +95,43 @@ class IamController extends Controller
94 } 95 }
95 96
96 public function actionShare(){ 97 public function actionShare(){
97 - if(!empty($_GET['id'])){ 98 + if(Yii::$app->request->get('id')) {
98 if(!$model = Share::find()->where('user_id=:user_id and product_id=:product_id',[':user_id'=>Yii::$app->user->id,':product_id'=>$_GET['id']])->one()) 99 if(!$model = Share::find()->where('user_id=:user_id and product_id=:product_id',[':user_id'=>Yii::$app->user->id,':product_id'=>$_GET['id']])->one())
99 $model = new Share; 100 $model = new Share;
100 101
101 - $model->product_id = $_GET['id']; 102 + $model->product_id = Yii::$app->request->get('id');
102 $model->save(); 103 $model->save();
103 104
104 Yii::$app->getSession()->setFlash('success', 'Этот товар добавлен в закладку!'); 105 Yii::$app->getSession()->setFlash('success', 'Этот товар добавлен в закладку!');
105 return $this->redirect(Yii::$app->request->referrer); 106 return $this->redirect(Yii::$app->request->referrer);
106 } 107 }
107 - else{ 108 + else {
108 /* $dataProvider = new ActiveDataProvider([ 109 /* $dataProvider = new ActiveDataProvider([
109 'query' => Share::find()->where(['user_id'=>Yii::$app->user->id])->orderBy('date_time DESC'), 110 'query' => Share::find()->where(['user_id'=>Yii::$app->user->id])->orderBy('date_time DESC'),
110 'pagination' => [ 111 'pagination' => [
111 'pageSize' => 20, 112 'pageSize' => 20,
112 ], 113 ],
113 ]);*/ 114 ]);*/
114 - if(!empty($_GET['deleteID'])){  
115 - $model = Share::find()->where(['user_id'=>Yii::$app->user->id,'id'=>$_GET['deleteID']])->one(); 115 + if(Yii::$app->request->get('deleteID')) {
  116 + $model = Share::find()->where(['user_id'=>Yii::$app->user->id,'id'=>Yii::$app->request->get('deleteID')])->one();
116 $model->delete(); 117 $model->delete();
117 return $this->redirect(Yii::$app->request->referrer); 118 return $this->redirect(Yii::$app->request->referrer);
118 } 119 }
119 - $query = Share::find()->where(['user_id'=>Yii::$app->user->id])->groupBy('date')->orderBy('date DESC'); 120 +
  121 + $items = [];
  122 + foreach(Share::find()->where(['user_id' => Yii::$app->user->id])->all() as $item) {
  123 + $items[$item->date][] = $item;
  124 + }
  125 +
  126 + /* $query = Share::find()->where(['user_id'=>Yii::$app->user->id])->groupBy('date')->orderBy('date DESC');
120 $countQuery = clone $query; 127 $countQuery = clone $query;
121 $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize'=>20]); 128 $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize'=>20]);
122 $pages->forcePageParam = false; 129 $pages->forcePageParam = false;
123 $pages->pageSizeParam = false; 130 $pages->pageSizeParam = false;
124 $share = $query->offset($pages->offset) 131 $share = $query->offset($pages->offset)
125 ->limit($pages->limit) 132 ->limit($pages->limit)
126 - ->all();  
127 - return $this->render('share',['share'=>$share,'pages'=>$pages]); 133 + ->all();*/
  134 + return $this->render('share', ['items' => $items]);
128 } 135 }
129 } 136 }
130 137
frontend/views/catalog/product.php
@@ -125,6 +125,21 @@ $this->registerJs (" @@ -125,6 +125,21 @@ $this->registerJs ("
125 <a href="#" rel='product' class="link_buy fl">В Корзину</a> 125 <a href="#" rel='product' class="link_buy fl">В Корзину</a>
126 <div class="both"></div> 126 <div class="both"></div>
127 </div> 127 </div>
  128 +
  129 + <div class="product_service">
  130 + <ul>
  131 + <?php if (Yii::$app->user->id) :?>
  132 + <li class="item1"><a href="<?= Url::to (['iam/share', 'id' => $product->product_id]) ?>">Добавить в закладки</a></li>
  133 + <?php endif?>
  134 + <?php if (FALSE && Yii::$app->user->id) :?>
  135 + <li class="item2"><a href="<?= Url::to (['iam/price', 'id' => $product->product_id]) ?>">Узнать о снижение цены</a></li>
  136 + <?php endif?>
  137 + <?php if (FALSE) :?>
  138 + <li class="item3"><a href="<?= Url::to (['products/compare', 'id' => $product->product_id]) ?>">Добавить в сравнение</a></li>
  139 + <?php endif?>
  140 + </ul>
  141 + </div>
  142 +
128 </div> 143 </div>
129 <?php /* 144 <?php /*
130 <div class="product_service"> 145 <div class="product_service">
frontend/views/iam/1person.php
@@ -23,12 +23,7 @@ $this-&gt;title = &#39;Профиль&#39;; @@ -23,12 +23,7 @@ $this-&gt;title = &#39;Профиль&#39;;
23 <div class="leftbar"> 23 <div class="leftbar">
24 <div class="mycabinet"> 24 <div class="mycabinet">
25 <div class="begin">Мой кабинет</div> 25 <div class="begin">Мой кабинет</div>
26 - <ul>  
27 - <li>Личные данные</li>  
28 - <li><a href="<?=Url::to(['iam/myorders'])?>">Мои заказы</a></li>  
29 - <!--<li><a href="<?=Url::to(['iam/share'])?>">Закладки</a></li>-->  
30 - <li><a href="<?=Url::to(['iam/price'])?>">Пожелания</a></li>  
31 - </ul> 26 + <?= $this->render('_tabs')?>
32 </div> 27 </div>
33 </div> 28 </div>
34 29
frontend/views/iam/_tabs.php 0 → 100644
  1 +<ul>
  2 + <li><a href="<?=\yii\helpers\Url::to(['iam/index'])?>">Личные данные</a></li>
  3 + <li><a href="<?=\yii\helpers\Url::to(['iam/myorders'])?>">Мои заказы</a></li>
  4 + <li><a href="<?=\yii\helpers\Url::to(['iam/share'])?>">Закладки</a></li>
  5 + <!--li><a href="<?=\yii\helpers\Url::to(['iam/price'])?>">Пожелания</a></li-->
  6 +</ul>
0 \ No newline at end of file 7 \ No newline at end of file
frontend/views/iam/edit_person.php
@@ -31,12 +31,7 @@ $(&#39;#user-phone&#39;).mask(&#39;(000) 000-0000&#39;); @@ -31,12 +31,7 @@ $(&#39;#user-phone&#39;).mask(&#39;(000) 000-0000&#39;);
31 <div class="leftbar"> 31 <div class="leftbar">
32 <div class="mycabinet"> 32 <div class="mycabinet">
33 <div class="begin">Мой кабинет</div> 33 <div class="begin">Мой кабинет</div>
34 - <ul>  
35 - <li><a href="<?=Url::to(['iam/index'])?>">Личные данные</a></li>  
36 - <li><a href="<?=Url::to(['iam/myorders'])?>">Мои заказы</a></li>  
37 - <!--<li><a href="<?=Url::to(['iam/share'])?>">Закладки</a></li>-->  
38 - <!--li><a href="<?=Url::to(['iam/price'])?>">Пожелания</a></li-->  
39 - </ul> 34 + <?= $this->render('_tabs')?>
40 </div> 35 </div>
41 </div> 36 </div>
42 37
frontend/views/iam/myorders.php
@@ -32,12 +32,7 @@ $this-&gt;registerJs(&quot; @@ -32,12 +32,7 @@ $this-&gt;registerJs(&quot;
32 <div class="leftbar"> 32 <div class="leftbar">
33 <div class="mycabinet"> 33 <div class="mycabinet">
34 <div class="begin">Мой кабинет</div> 34 <div class="begin">Мой кабинет</div>
35 - <ul>  
36 - <li><a href="<?=Url::to(['iam/index'])?>">Личные данные</a></li>  
37 - <li><a href="<?=Url::to(['iam/myorders'])?>" class="active">Мои заказы</a></li>  
38 - <!--<li><a href="<?=Url::to(['iam/share'])?>">Закладки</a></li>-->  
39 - <!--li><a href="<?=Url::to(['iam/price'])?>">Пожелания</a></li-->  
40 - </ul> 35 + <?= $this->render('_tabs')?>
41 </div> 36 </div>
42 </div> 37 </div>
43 38
frontend/views/iam/person.php
@@ -22,12 +22,7 @@ $this-&gt;title = &#39;Профиль&#39;; @@ -22,12 +22,7 @@ $this-&gt;title = &#39;Профиль&#39;;
22 <div class="leftbar"> 22 <div class="leftbar">
23 <div class="mycabinet"> 23 <div class="mycabinet">
24 <div class="begin">Мой кабинет</div> 24 <div class="begin">Мой кабинет</div>
25 - <ul>  
26 - <li><a href="<?=Url::to(['iam/index'])?>" class="active">Личные данные</a></li>  
27 - <li><a href="<?=Url::to(['iam/myorders'])?>">Мои заказы</a></li>  
28 - <!--<li><a href="<?=Url::to(['iam/share'])?>">Закладки</a></li>-->  
29 - <!--li><a href="<?=Url::to(['iam/price'])?>">Пожелания</a></li-->  
30 - </ul> 25 + <?= $this->render('_tabs')?>
31 </div> 26 </div>
32 </div> 27 </div>
33 28
frontend/views/iam/share.php
@@ -31,35 +31,28 @@ $this-&gt;registerJs(&quot; @@ -31,35 +31,28 @@ $this-&gt;registerJs(&quot;
31 <div class="leftbar"> 31 <div class="leftbar">
32 <div class="mycabinet"> 32 <div class="mycabinet">
33 <div class="begin">Мой кабинет</div> 33 <div class="begin">Мой кабинет</div>
34 - <ul>  
35 - <li><a href="<?=Url::to(['iam/index'])?>">Личные данные</a></li>  
36 - <li><a href="<?=Url::to(['iam/myorders'])?>">Мои заказы</a></li>  
37 - <!--<li><a href="<?=Url::to(['iam/share'])?>">Закладки</a></li>-->  
38 - <!--li><a href="<?=Url::to(['iam/price'])?>">Пожелания</a></li-->  
39 - </ul> 34 + <?= $this->render('_tabs')?>
40 </div> 35 </div>
41 </div> 36 </div>
42 37
43 <div class="content"> 38 <div class="content">
44 -  
45 -  
46 <div class="favorites"> 39 <div class="favorites">
47 <div style="margin-top:-5px;"> 40 <div style="margin-top:-5px;">
48 - <?foreach($share as $key=>$item):?> 41 + <?php $i=0; foreach($items as $date=>$_items): $i++;?>
49 <div class="fav_point"> 42 <div class="fav_point">
50 - <div class="left"><a href="#" class="link">№ <?=$key+1?></a></div>  
51 - <div class="left"><?=$item->date?></div> 43 + <div class="left"><a href="#" class="link">№ <?=$i?></a></div>
  44 + <div class="left"><?= $date?></div>
52 <div class="both"></div> 45 <div class="both"></div>
53 46
54 <div class="orders_view"> 47 <div class="orders_view">
55 - <?foreach($item->shareList as $item_p):if(!empty($item_p->product)):?> 48 + <?foreach($_items as $item_p):if(!empty($item_p->product)):?>
56 <div class="order"> 49 <div class="order">
57 <div><a href="<?=Url::to(['iam/share','deleteID'=>$item_p->id])?>" class="delete_button"></a></div> 50 <div><a href="<?=Url::to(['iam/share','deleteID'=>$item_p->id])?>" class="delete_button"></a></div>
58 - <div class="pixbox"><a href="<?=Url::to(['products/show','translit_rubric'=>$item_p->product->catalog->translit,'translit'=>$item_p->product->translit,'id'=>$item_p->product->id])?>"> 51 + <div class="pixbox"><a href="<?=Url::to(['catalog/product', 'product' => $item_p->product])?>">
59 <?= \common\components\artboximage\ArtboxImageHelper::getImage($item_p->product->imageUrl, 'iam')?> 52 <?= \common\components\artboximage\ArtboxImageHelper::getImage($item_p->product->imageUrl, 'iam')?>
60 </div> 53 </div>
61 - <div class="order_title"><a href="<?=Url::to(['products/show','translit_rubric'=>$item_p->product->catalog->translit,'translit'=>$item_p->product->translit,'id'=>$item_p->product->id])?>" class="name"><?=$item_p->product->name?></a></div>  
62 - <?if(!empty($item_p->product->cost->cost)):?><div class="order_price"><span><?=$item_p->product->cost->cost?></span> грн.</div><?endif;?> 54 + <div class="order_title"><a href="<?=Url::to(['catalog/product', 'product' => $item_p->product])?>" class="name"><?=$item_p->product->name?></a></div>
  55 + <?if(!empty($item_p->product->variants[0])):?><div class="order_price"><span><?=$item_p->product->variants[0]->price?></span> грн.</div><?endif;?>
63 <p class="note"></p> 56 <p class="note"></p>
64 </div> 57 </div>
65 <?endif;endforeach;?> 58 <?endif;endforeach;?>
@@ -67,15 +60,8 @@ $this-&gt;registerJs(&quot; @@ -67,15 +60,8 @@ $this-&gt;registerJs(&quot;
67 </div> 60 </div>
68 </div> 61 </div>
69 <?endforeach;?> 62 <?endforeach;?>
70 -  
71 </div> 63 </div>
72 -  
73 </div> 64 </div>
74 -  
75 -  
76 -  
77 -  
78 -  
79 -  
80 </div> 65 </div>
  66 + <div class="both"></div>
81 </div> 67 </div>