Commit 1c8ebc9119f11afe2d80d1cccd3a3d2a08dc51b6
1 parent
00629bc9
Share functional
Showing
9 changed files
with
53 additions
and
58 deletions
Show diff stats
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->title = 'Профиль'; | @@ -23,12 +23,7 @@ $this->title = 'Профиль'; | ||
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 |
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 @@ $('#user-phone').mask('(000) 000-0000'); | @@ -31,12 +31,7 @@ $('#user-phone').mask('(000) 000-0000'); | ||
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->registerJs(" | @@ -32,12 +32,7 @@ $this->registerJs(" | ||
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->title = 'Профиль'; | @@ -22,12 +22,7 @@ $this->title = 'Профиль'; | ||
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->registerJs(" | @@ -31,35 +31,28 @@ $this->registerJs(" | ||
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->registerJs(" | @@ -67,15 +60,8 @@ $this->registerJs(" | ||
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> |