Commit f7aa643c74d000975961b3bde6de15cefca39d91
1 parent
30c37ebf
21.03.16 Versrka
Showing
12 changed files
with
200 additions
and
242 deletions
Show diff stats
.gitignore
... | ... | @@ -35,4 +35,6 @@ common/config/params-local.php |
35 | 35 | backend/config/main-local.php |
36 | 36 | backend/config/params-local.php |
37 | 37 | frontend/config/main-local.php |
38 | -frontend/config/params-local.php | |
39 | 38 | \ No newline at end of file |
39 | +frontend/config/params-local.php | |
40 | +frontend/views/вертска | |
41 | +frontend/web/css/node_modules | |
40 | 42 | \ No newline at end of file | ... | ... |
common/models/Customers.php
common/widgets/BasketModal.php
1 | 1 | <?php |
2 | 2 | namespace common\widgets; |
3 | -use common\models\Fields; | |
3 | + | |
4 | 4 | use yii\base\Widget; |
5 | -use yii\helpers\ArrayHelper; | |
6 | 5 | |
7 | 6 | class BasketModal extends Widget |
8 | 7 | { |
9 | - public $item_id; | |
10 | - public $model; | |
11 | - public $template; | |
12 | - public $language; | |
13 | 8 | |
14 | 9 | public function init(){ |
15 | 10 | |
... | ... | @@ -20,29 +15,15 @@ class BasketModal extends Widget |
20 | 15 | |
21 | 16 | public function run() |
22 | 17 | { |
23 | - if($this->item_id && $this->model){ | |
24 | - $widgetData = $this->findModel(); | |
25 | - } else { | |
26 | - $widgetData= [new Fields()]; | |
18 | + $sessionData = \Yii::$app->session->get('order'); | |
19 | + $count = count($sessionData); | |
20 | + if(is_array($sessionData) && !empty($sessionData)){ | |
21 | + return $this->render('busket_modal',[ | |
22 | + 'items'=>$sessionData, | |
23 | + 'count' => $count | |
24 | + ]); | |
27 | 25 | } |
28 | 26 | |
29 | - return $this->render($this->template.'_field',['model'=>ArrayHelper::toArray($widgetData)]); | |
30 | 27 | } |
31 | 28 | |
32 | - protected function findModel() | |
33 | - { | |
34 | - | |
35 | - if (($model = Fields::find()->where([ | |
36 | - 'table_id'=>$this->item_id, | |
37 | - 'table_name'=>$this->model, | |
38 | - 'field_type'=>$this->template, | |
39 | - 'language'=>$this->language, | |
40 | - ])->all())) { | |
41 | - | |
42 | - return $model; | |
43 | - | |
44 | - } else { | |
45 | - return [new Fields()]; | |
46 | - } | |
47 | - } | |
48 | 29 | } |
49 | 30 | \ No newline at end of file | ... | ... |
common/widgets/views/busket_modal.php
1 | 1 | <?php |
2 | 2 | /** |
3 | - * Created by PhpStorm. | |
4 | - * User: vitaliy | |
5 | - * Date: 23.03.16 | |
6 | - * Time: 0:25 | |
7 | - */ | |
8 | 3 | \ No newline at end of file |
4 | + * @var $items array data from session | |
5 | + * @var $count integer count items in basket | |
6 | + */ | |
7 | + | |
8 | +?> | |
9 | +<div class="order_list"> | |
10 | + <ul> | |
11 | + <?php foreach($items as $item){ ?> | |
12 | + <li> | |
13 | + <div class="order_list_li" data-id="1"> | |
14 | + <div class="delete_item_btn"><i class="fa fa-times"></i></div> | |
15 | + <div class="little_img"> | |
16 | + <img src="/images/items/01.jpg" alt=""> | |
17 | + </div> | |
18 | + <div class="name_and_code"> | |
19 | + <span class="name">Штукатурка гипсовая Кнауф Ротбанд 30 кг белая</span> | |
20 | + <span class="code"> Код: 45885-01016049</span> | |
21 | + </div> | |
22 | + <div class="count_block_wrap"> | |
23 | + <div class="count_block"> | |
24 | + <input type="text" name="" class="form-control buy_one_item" value="1"> | |
25 | + <div class="count_buttons"> | |
26 | + <div class="button_plus">+</div> | |
27 | + <div class="button_minus">-</div> | |
28 | + </div> | |
29 | + </div> | |
30 | + <div class="price">102.05 <span class="price_text">грн.</span></div> | |
31 | + </div> | |
32 | + </div> | |
33 | + </li> | |
34 | + <?php } ?> | |
35 | + | |
36 | + </ul> | |
37 | + <hr> | |
38 | + <div class="all_price"> | |
39 | + <p>Всего товаров: <span class="all_count"><?= $count ?></span></p> | |
40 | + <p>Сумма: <span class="all_price">306.15</span> грн.</p> | |
41 | + </div> | |
42 | + <div class="busket_bottom_btn"> | |
43 | + <a href="#">продолжить покупки</a> | |
44 | + <button>оформить заказ</button> | |
45 | + </div> | |
46 | +</div> | ... | ... |
console/migrations/m160321_232402_orders.php
... | ... | @@ -13,7 +13,8 @@ class m160321_232402_orders extends Migration |
13 | 13 | } |
14 | 14 | |
15 | 15 | $this->createTable('{{%orders}}', [ |
16 | - 'id' => $this->primaryKey(), | |
16 | + 'order_id' => $this->primaryKey(), | |
17 | + 'customer_id' => $this->integer(), | |
17 | 18 | 'name' => $this->string()->notNull(), |
18 | 19 | 'email' => $this->string()->notNull(), |
19 | 20 | 'phone' => $this->string(32)->notNull(), |
... | ... | @@ -24,11 +25,25 @@ class m160321_232402_orders extends Migration |
24 | 25 | 'created_at' => $this->integer()->notNull(), |
25 | 26 | 'updated_at' => $this->integer()->notNull(), |
26 | 27 | ], $tableOptions); |
28 | + | |
29 | + $this->createTable('{{%order_items}}', [ | |
30 | + 'order_items_id' => $this->primaryKey(), | |
31 | + 'order_id' => $this->integer(), | |
32 | + 'item_id' => $this->integer(), | |
33 | + 'item_count' => $this->integer(), | |
34 | + 'price' => $this->float(), | |
35 | + ], $tableOptions); | |
36 | + | |
37 | + $this->addForeignKey('orders_items_fk', '{{%order_items}}', 'order_id', '{{%orders}}', 'order_id', 'CASCADE', 'CASCADE'); | |
38 | + $this->addForeignKey('orders_items_items_fk', '{{%order_items}}', 'item_id', '{{%product}}', 'product_id', 'RESTRICT', 'RESTRICT'); | |
27 | 39 | } |
28 | 40 | |
29 | 41 | public function down() |
30 | 42 | { |
43 | + $this->dropForeignKey('orders_items_fk', '{{%order_items}}'); | |
44 | + $this->dropForeignKey('orders_items_items_fk', '{{%order_items}}'); | |
31 | 45 | $this->dropTable('{{%orders}}'); |
46 | + $this->dropTable('{{%order_items}}'); | |
32 | 47 | } |
33 | 48 | |
34 | 49 | } | ... | ... |
frontend/controllers/OrdersController.php
... | ... | @@ -2,6 +2,7 @@ |
2 | 2 | |
3 | 3 | namespace frontend\controllers; |
4 | 4 | |
5 | +use common\widgets\BasketModal; | |
5 | 6 | use Yii; |
6 | 7 | |
7 | 8 | use yii\web\Controller; |
... | ... | @@ -10,10 +11,21 @@ use yii\data\ArrayDataProvider; |
10 | 11 | /** |
11 | 12 | * OrderController implements the CRUD actions for Order model. |
12 | 13 | */ |
13 | -class OrderыController extends Controller | |
14 | +class OrdersController extends Controller | |
14 | 15 | { |
15 | 16 | |
16 | - public $layout='/column2'; | |
17 | + | |
18 | + /** | |
19 | + * @inheritdoc | |
20 | + */ | |
21 | + public function beforeAction($action) | |
22 | + { | |
23 | + if ($action->id == 'buy-items' || $action->id == 'delete') { | |
24 | + Yii::$app->controller->enableCsrfValidation = false; | |
25 | + } | |
26 | + | |
27 | + return true; | |
28 | + } | |
17 | 29 | |
18 | 30 | /** |
19 | 31 | * Lists all Order models. |
... | ... | @@ -105,7 +117,7 @@ class OrderыController extends Controller |
105 | 117 | $array[$data['id']] = $data; |
106 | 118 | Yii::$app->session->set('order', $array ); |
107 | 119 | } |
108 | - echo count(Yii::$app->session->get('order')); | |
120 | + echo BasketModal::widget([]); | |
109 | 121 | |
110 | 122 | } |
111 | 123 | /** | ... | ... |
frontend/views/layouts/main.php
... | ... | @@ -4,6 +4,7 @@ |
4 | 4 | /* @var $content string */ |
5 | 5 | |
6 | 6 | |
7 | +use common\widgets\BasketModal; | |
7 | 8 | use frontend\assets\AppAsset; |
8 | 9 | use yii\helpers\Html; |
9 | 10 | use yii\helpers\Url; |
... | ... | @@ -79,84 +80,8 @@ AppAsset::register($this); |
79 | 80 | <div class="busket_modal_header"><!-- MODAL BUSKET WINDOW(HEAD) START --> |
80 | 81 | <div class="m_a"> |
81 | 82 | <div class="busket_modal_02"> |
82 | - <div class="order_list"> | |
83 | - <ul> | |
84 | - <li> | |
85 | - <div class="order_list_li "> | |
86 | - <div class="delete_item_btn"><i class="fa fa-times"></i></div> | |
87 | - <div class="little_img"> | |
88 | - <img src="/images/items/01.jpg" alt=""> | |
89 | - </div> | |
90 | - <div class="name_and_code"> | |
91 | - <span class="name">Штукатурка гипсовая Кнауф Ротбанд 30 кг белая</span> | |
92 | - <span class="code"> Код: 45885-01016049</span> | |
93 | - </div> | |
94 | - <div class="count_block_wrap"> | |
95 | - <div class="count_block"> | |
96 | - <div class="count_number">1</div> | |
97 | - <div class="count_buttons"> | |
98 | - <div class="button_plus">+</div> | |
99 | - <div class="button_minus">-</div> | |
100 | - </div> | |
101 | - </div> | |
102 | - <div class="price">102.05 <span class="price_text">грн.</span></div> | |
103 | - </div> | |
104 | - </div> | |
105 | - </li> | |
106 | - <li> | |
107 | - <div class="order_list_li "> | |
108 | - <div class="delete_item_btn"><i class="fa fa-times"></i></div> | |
109 | - <div class="little_img"> | |
110 | - <img src="/images/items/01.jpg" alt=""> | |
111 | - </div> | |
112 | - <div class="name_and_code"> | |
113 | - <span class="name">Штукатурка гипсовая Кнауф Ротбанд 30 кг белая</span> | |
114 | - <span class="code"> Код: 45885-01016049</span> | |
115 | - </div> | |
116 | - <div class="count_block_wrap"> | |
117 | - <div class="count_block"> | |
118 | - <div class="count_number">1</div> | |
119 | - <div class="count_buttons"> | |
120 | - <div class="button_plus">+</div> | |
121 | - <div class="button_minus">-</div> | |
122 | - </div> | |
123 | - </div> | |
124 | - <div class="price">102.05 <span class="price_text">грн.</span></div> | |
125 | - </div> | |
126 | - </div> | |
127 | - </li> | |
128 | - <li> | |
129 | - <div class="order_list_li "> | |
130 | - <div class="delete_item_btn"><i class="fa fa-times"></i></div> | |
131 | - <div class="little_img"> | |
132 | - <img src="/images/items/01.jpg" alt=""> | |
133 | - </div> | |
134 | - <div class="name_and_code"> | |
135 | - <span class="name">Штукатурка гипсовая Кнауф Ротбанд 30 кг белая</span> | |
136 | - <span class="code"> Код: 45885-01016049</span> | |
137 | - </div> | |
138 | - <div class="count_block_wrap"> | |
139 | - <div class="count_block"> | |
140 | - <div class="count_number">1</div> | |
141 | - <div class="count_buttons"> | |
142 | - <div class="button_plus">+</div> | |
143 | - <div class="button_minus">-</div> | |
144 | - </div> | |
145 | - </div> | |
146 | - <div class="price">102.05 <span class="price_text">грн.</span></div> | |
147 | - </div> | |
148 | - </div> | |
149 | - </li> | |
150 | - </ul> | |
151 | - <hr> | |
152 | - <div class="all_price"> | |
153 | - <p>Всего товаров: <span class="all_count">3</span></p> | |
154 | - <p>Сумма: <span class="all_price">306.15</span> грн.</p> | |
155 | - </div> | |
156 | - <div class="busket_bottom_btn"> | |
157 | - <a href="#">продолжить покупки</a> | |
158 | - <button>оформить заказ</button> | |
159 | - </div> | |
83 | + <div class="basket_result"> | |
84 | + <?= BasketModal::widget([]); ?> | |
160 | 85 | </div> |
161 | 86 | </div> |
162 | 87 | </div> |
... | ... | @@ -257,87 +182,9 @@ AppAsset::register($this); |
257 | 182 | <div class="m_a"> |
258 | 183 | <div class="busket_modal_01"> |
259 | 184 | <div class="modal_close_btn"></div> |
260 | - <div class="order_list"> | |
261 | - <h3>товар добавлен в корзину</h3> | |
262 | - <ul> | |
263 | - <li> | |
264 | - <div class="order_list_li "> | |
265 | - <div class="delete_item_btn"><i class="fa fa-times"></i></div> | |
266 | - <div class="little_img"> | |
267 | - <img src="/images/items/01.jpg" alt=""> | |
268 | - </div> | |
269 | - <div class="name_and_code"> | |
270 | - <span class="name">Штукатурка гипсовая Кнауф Ротбанд 30 кг белая</span> | |
271 | - <span class="code"> Код: 45885-01016049</span> | |
272 | - </div> | |
273 | - <div class="count_block_wrap"> | |
274 | - <div class="count_block"> | |
275 | - <div class="count_number">1</div> | |
276 | - <div class="count_buttons"> | |
277 | - <div class="button_plus">+</div> | |
278 | - <div class="button_minus">-</div> | |
279 | - </div> | |
280 | - </div> | |
281 | - <div class="price">102.05 <span class="price_text">грн.</span></div> | |
282 | - </div> | |
283 | - </div> | |
284 | - </li> | |
285 | - <li> | |
286 | - <div class="order_list_li "> | |
287 | - <div class="delete_item_btn"><i class="fa fa-times"></i></div> | |
288 | - <div class="little_img"> | |
289 | - <img src="/images/items/01.jpg" alt=""> | |
290 | - </div> | |
291 | - <div class="name_and_code"> | |
292 | - <span class="name">Штукатурка гипсовая Кнауф Ротбанд 30 кг белая</span> | |
293 | - <span class="code"> Код: 45885-01016049</span> | |
294 | - </div> | |
295 | - <div class="count_block_wrap"> | |
296 | - <div class="count_block"> | |
297 | - <div class="count_number">1</div> | |
298 | - <div class="count_buttons"> | |
299 | - <div class="button_plus">+</div> | |
300 | - <div class="button_minus">-</div> | |
301 | - </div> | |
302 | - </div> | |
303 | - <div class="price">102.05 <span class="price_text">грн.</span></div> | |
304 | - </div> | |
305 | - </div> | |
306 | - </li> | |
307 | - <li> | |
308 | - <div class="order_list_li "> | |
309 | - <div class="delete_item_btn"><i class="fa fa-times"></i></div> | |
310 | - <div class="little_img"> | |
311 | - <img src="/images/items/01.jpg" alt=""> | |
312 | - </div> | |
313 | - <div class="name_and_code"> | |
314 | - <span class="name">Штукатурка гипсовая Кнауф Ротбанд 30 кг белая</span> | |
315 | - <span class="code"> Код: 45885-01016049</span> | |
316 | - </div> | |
317 | - <div class="count_block_wrap"> | |
318 | - <div class="count_block"> | |
319 | - <div class="count_number">1</div> | |
320 | - <div class="count_buttons"> | |
321 | - <div class="button_plus">+</div> | |
322 | - <div class="button_minus">-</div> | |
323 | - </div> | |
324 | - </div> | |
325 | - <div class="price">102.05 <span class="price_text">грн.</span></div> | |
326 | - </div> | |
327 | - </div> | |
328 | - </li> | |
329 | - </ul> | |
330 | - <hr> | |
331 | - <div class="all_price"> | |
332 | - <p>Всего товаров: <span class="all_count">3</span></p> | |
333 | - <p>Сумма: <span class="all_price">306.15</span> грн.</p> | |
334 | - </div> | |
335 | - <div class="busket_bottom_btn"> | |
336 | - <a href="#">продолжить покупки</a> | |
337 | - <button>оформить заказ</button> | |
338 | - </div> | |
185 | + <div class="basket_result"> | |
186 | + <?= BasketModal::widget([]); ?> | |
339 | 187 | </div> |
340 | - | |
341 | 188 | </div> |
342 | 189 | </div> |
343 | 190 | </div> <!-- MODAL BUSKET WINDOW END --> | ... | ... |
frontend/views/site/login.php
... | ... | @@ -19,7 +19,7 @@ $this->params['breadcrumbs'][] = $this->title; |
19 | 19 | <div class="col-lg-5"> |
20 | 20 | <?php $form = ActiveForm::begin(['id' => 'login-form']); ?> |
21 | 21 | |
22 | - <?= $form->field($model, 'username')->textInput(['autofocus' => true]) ?> | |
22 | + <?= $form->field($model, 'email')->textInput(['autofocus' => true]) ?> | |
23 | 23 | |
24 | 24 | <?= $form->field($model, 'password')->passwordInput() ?> |
25 | 25 | ... | ... |
frontend/web/css/concat_all.css
... | ... | @@ -2494,7 +2494,7 @@ span.red { |
2494 | 2494 | .busket_modal_wrapper .busket_modal_01 .order_list .count_block .count_buttons { |
2495 | 2495 | position: relative; |
2496 | 2496 | /*top: 4px;*/ |
2497 | - right: 6px; | |
2497 | + right: 16px; | |
2498 | 2498 | display: inline-block; |
2499 | 2499 | vertical-align: bottom; |
2500 | 2500 | } |
... | ... | @@ -2680,7 +2680,7 @@ span.red { |
2680 | 2680 | .busket_modal_header .busket_modal_02 .order_list .count_block .count_buttons { |
2681 | 2681 | position: relative; |
2682 | 2682 | /*top: 4px;*/ |
2683 | - right: 6px; | |
2683 | + right: 16px; | |
2684 | 2684 | display: inline-block; |
2685 | 2685 | vertical-align: bottom; |
2686 | 2686 | } | ... | ... |
frontend/web/css/concat_all_back.css
... | ... | @@ -2492,8 +2492,7 @@ span.red { |
2492 | 2492 | |
2493 | 2493 | .busket_modal_wrapper .busket_modal_01 .order_list .count_block .count_buttons { |
2494 | 2494 | position: relative; |
2495 | - /*top: 4px;*/ | |
2496 | - right: 6px; | |
2495 | + right: 16px; | |
2497 | 2496 | display: inline-block; |
2498 | 2497 | vertical-align: bottom; |
2499 | 2498 | } | ... | ... |
frontend/web/css/style.css
... | ... | @@ -1071,10 +1071,32 @@ input.error_pass{ |
1071 | 1071 | #loginform-rememberme{ |
1072 | 1072 | display: none; |
1073 | 1073 | } |
1074 | + | |
1074 | 1075 | .field-loginform-rememberme{ |
1075 | 1076 | display: inline; |
1076 | 1077 | color: #6aa034; |
1077 | 1078 | } |
1079 | + | |
1078 | 1080 | .field-loginform-rememberme label:hover{ |
1079 | 1081 | color: #517a27; |
1082 | +} | |
1083 | + | |
1084 | +.buy_one_item { | |
1085 | + display: inline-block; | |
1086 | + width: 50px; | |
1087 | + height: 31px; | |
1088 | + vertical-align: top; | |
1089 | + font-size: 17px; | |
1090 | + line-height: 1; | |
1091 | + padding: 0 10px 0 10px; | |
1092 | + color: #555; | |
1093 | + background-color: #fff; | |
1094 | + background-image: none; | |
1095 | + border: 1px solid #ccc; | |
1096 | + border-radius: 4px; | |
1097 | + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); | |
1098 | + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); | |
1099 | + -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; | |
1100 | + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
1101 | + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
1080 | 1102 | } |
1081 | 1103 | \ No newline at end of file | ... | ... |
frontend/web/js/my_scripts.js
... | ... | @@ -21,10 +21,10 @@ $(document).ready(function(){ |
21 | 21 | filter_list.on('click', function(){ |
22 | 22 | $(this).next().slideToggle(300); |
23 | 23 | var this_img = $(this).children('img'); |
24 | - if (this_img.attr('src') === "images/head_down.png" ) { | |
25 | - this_img.attr('src', 'images/head_up.png'); | |
24 | + if (this_img.attr('src') === "/images/head_down.png" ) { | |
25 | + this_img.attr('src', '/images/head_up.png'); | |
26 | 26 | } else { |
27 | - this_img.attr('src', 'images/head_down.png'); | |
27 | + this_img.attr('src', '/images/head_down.png'); | |
28 | 28 | }; |
29 | 29 | }); |
30 | 30 | |
... | ... | @@ -85,46 +85,25 @@ $(document).ready(function(){ |
85 | 85 | // arrow left hover |
86 | 86 | arrow_left.hover( |
87 | 87 | function(){ |
88 | - $(this).attr('src', 'images/slider_left_hover.png'); | |
88 | + $(this).attr('src', '/images/slider_left_hover.png'); | |
89 | 89 | }, function(){ |
90 | - $(this).attr('src', 'images/slider_left.png'); | |
90 | + $(this).attr('src', '/images/slider_left.png'); | |
91 | 91 | }); |
92 | 92 | |
93 | 93 | // arrow right hover |
94 | 94 | arrow_right.hover( |
95 | 95 | function(){ |
96 | - $(this).attr('src', 'images/slider_right_hover.png'); | |
96 | + $(this).attr('src', '/images/slider_right_hover.png'); | |
97 | 97 | }, function(){ |
98 | - $(this).attr('src', 'images/slider_right.png'); | |
98 | + $(this).attr('src', '/images/slider_right.png'); | |
99 | 99 | }); |
100 | 100 | |
101 | 101 | // добавить в корзину - счетчик + - товар |
102 | 102 | var open_card_item_price = $('.counter').children('.price'), |
103 | - counter_plus_btn = $('.counter').find('.button_plus'), | |
104 | - counter_minus_btn = $('.counter').find('.button_minus'), | |
105 | 103 | counter_item_count = $('.counter').find('.count_number'), |
106 | 104 | state_price = 1*($('.counter').children('.price').html()); |
107 | 105 | |
108 | 106 | |
109 | - counter_plus_btn.click(function(){ | |
110 | - var count = +counter_item_count.html(); | |
111 | - count++; | |
112 | - counter_item_count.text(count); | |
113 | - | |
114 | - var become = 1*($('.counter').children('.price').html()); | |
115 | - var result = become + state_price; | |
116 | - open_card_item_price.text(result.toFixed(2)); | |
117 | - }); | |
118 | - counter_minus_btn.click(function(){ | |
119 | - var become = 1*($('.counter').children('.price').html()); | |
120 | - var result = become - state_price; | |
121 | - if(become > 0) { | |
122 | - open_card_item_price.text(result.toFixed(2)); | |
123 | - var count = +counter_item_count.html(); | |
124 | - count--; | |
125 | - counter_item_count.text(count); | |
126 | - } | |
127 | - }); | |
128 | 107 | |
129 | 108 | // активный класс для корзины |
130 | 109 | var basket_order_list = $('.order_list').find('.order_list_li'); |
... | ... | @@ -141,19 +120,19 @@ $(document).ready(function(){ |
141 | 120 | basket_each_count = basket_order_list.children('.how_many'); // количество каждого товара |
142 | 121 | // console.log(basket_each_price); |
143 | 122 | |
144 | - function basket_all_prices() { | |
145 | - var all_count = 0; | |
146 | - var all_price = 0; | |
147 | - for (var i = basket_each_count.length - 1; i >= 0; i--) { | |
148 | - var temp = basket_each_count[i].innerHTML; | |
149 | - var temp_price = basket_each_price[i].innerHTML; | |
150 | - all_count += parseInt(temp); | |
151 | - all_price += parseFloat(temp_price); | |
152 | - }; | |
153 | - basket_all_items.text(all_count); | |
154 | - basket_all_price.text(all_price.toFixed(2)); | |
155 | - } | |
156 | - basket_all_prices(); | |
123 | + //function basket_all_prices() { | |
124 | + // var all_count = 0; | |
125 | + // var all_price = 0; | |
126 | + // for (var i = basket_each_count.length - 1; i >= 0; i--) { | |
127 | + // var temp = basket_each_count[i].innerHTML; | |
128 | + // var temp_price = basket_each_price[i].innerHTML; | |
129 | + // all_count += parseInt(temp); | |
130 | + // all_price += parseFloat(temp_price); | |
131 | + // }; | |
132 | + // basket_all_items.text(all_count); | |
133 | + // basket_all_price.text(all_price.toFixed(2)); | |
134 | + //} | |
135 | + //basket_all_prices(); | |
157 | 136 | |
158 | 137 | |
159 | 138 | // modal widows |
... | ... | @@ -293,6 +272,8 @@ $(document).ready(function(){ |
293 | 272 | log_wrap.fadeOut(200); |
294 | 273 | forgot_pass_wrap.fadeOut(200); |
295 | 274 | forgot_pass_success_wrap.fadeOut(200); |
275 | + forgot_pass_success_wrap.fadeOut(200); | |
276 | + busket_modal_wrapper.fadeOut(200); | |
296 | 277 | callback_wrap.fadeOut(200); |
297 | 278 | }); |
298 | 279 | $(".close_modal").click(function(){ |
... | ... | @@ -499,6 +480,68 @@ $(document).ready(function(){ |
499 | 480 | all_modal_moves(); |
500 | 481 | |
501 | 482 | |
483 | + function countPrise(block){ | |
484 | + var total_price = 0; | |
485 | + block.find('.price').each(function(){ | |
486 | + total_price += +$(this).html(); | |
487 | + }); | |
488 | + $('.total_price').html(total_price); | |
489 | + $("input[name='OrderForm[total_price]']").val(total_price); | |
490 | + } | |
491 | + | |
492 | + | |
493 | + $('.item').on('click', '.basket_add_but', function(e){ | |
494 | + var id = $(this).parents('.item').data('id'); | |
495 | + console.log(id); | |
496 | + $.post( "/orders/buy-items", {id: id}, function( data ) { | |
497 | + $('.basket_result').each(function(){ | |
498 | + $(this).html(data) | |
499 | + }); | |
500 | + }); | |
501 | + | |
502 | + }); | |
503 | + | |
504 | + $('.basket_result').on('click', '.delete_item_btn', function(){ | |
505 | + var id = $(this).parents('.order_list_li').data('id'); | |
506 | + $(this).parents('.order_list_li').remove(); | |
507 | + $.post( "/orders/delete", {id: id}, function( data ) { | |
508 | + }); | |
509 | + countPrise(); | |
510 | + }); | |
511 | + | |
512 | + $('.basket_result').on('click', '.button_minus', function(){ | |
513 | + var input = $(this).parents('.order_list_li ').find('input'); | |
514 | + var number = input.val(); | |
515 | + if(number > 1){ | |
516 | + number--; | |
517 | + input.val(number); | |
518 | + var price = $(this).parents('.goods_data').find('.item_prise_block').find('span').html(); | |
519 | + var new_price = number * price; | |
520 | + $(this).parents('.goods_data').find('.item_prise_total_block').find('span').html(new_price); | |
521 | + } | |
522 | + countPrise(); | |
523 | + }); | |
524 | + | |
525 | + | |
526 | + $('.basket_result').on('click', '.button_plus', function(){ | |
527 | + var input = $(this).parents('.order_list_li ').find('input'); | |
528 | + var number = input.val(); | |
529 | + number++; | |
530 | + input.val(number); | |
531 | + var price = $(this).parents('.goods_data').find('.item_prise_block').find('span').html(); | |
532 | + var new_price = number * price; | |
533 | + $(this).parents('.goods_data').find('.item_prise_total_block').find('span').html(new_price); | |
534 | + countPrise(); | |
535 | + }); | |
536 | + | |
537 | + $('.basket_result').on('change', '.buy_one_item', function(){ | |
538 | + var num = $(this).val(); | |
539 | + var priceBlock = $(this).parents('.order_list_li').find('.price'); | |
540 | + var price = priceBlock.html(); | |
541 | + var new_price = num * price; | |
542 | + priceBlock.html(new_price); | |
543 | + countPrise(); | |
544 | + }); | |
502 | 545 | |
503 | 546 | |
504 | 547 | }); |
505 | 548 | \ No newline at end of file | ... | ... |