Commit f7aa643c74d000975961b3bde6de15cefca39d91

Authored by Administrator
1 parent 30c37ebf

21.03.16 Versrka

@@ -35,4 +35,6 @@ common/config/params-local.php @@ -35,4 +35,6 @@ common/config/params-local.php
35 backend/config/main-local.php 35 backend/config/main-local.php
36 backend/config/params-local.php 36 backend/config/params-local.php
37 frontend/config/main-local.php 37 frontend/config/main-local.php
38 -frontend/config/params-local.php  
39 \ No newline at end of file 38 \ No newline at end of file
  39 +frontend/config/params-local.php
  40 +frontend/views/вертска
  41 +frontend/web/css/node_modules
40 \ No newline at end of file 42 \ No newline at end of file
common/models/Customers.php
@@ -42,7 +42,6 @@ class Customers extends User @@ -42,7 +42,6 @@ class Customers extends User
42 [['email'], 'unique'], 42 [['email'], 'unique'],
43 [['password_reset_token'], 'unique'], 43 [['password_reset_token'], 'unique'],
44 [['phone'], 'unique'], 44 [['phone'], 'unique'],
45 - [['username'], 'unique'],  
46 ]; 45 ];
47 } 46 }
48 47
common/widgets/BasketModal.php
1 <?php 1 <?php
2 namespace common\widgets; 2 namespace common\widgets;
3 -use common\models\Fields; 3 +
4 use yii\base\Widget; 4 use yii\base\Widget;
5 -use yii\helpers\ArrayHelper;  
6 5
7 class BasketModal extends Widget 6 class BasketModal extends Widget
8 { 7 {
9 - public $item_id;  
10 - public $model;  
11 - public $template;  
12 - public $language;  
13 8
14 public function init(){ 9 public function init(){
15 10
@@ -20,29 +15,15 @@ class BasketModal extends Widget @@ -20,29 +15,15 @@ class BasketModal extends Widget
20 15
21 public function run() 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 \ No newline at end of file 30 \ No newline at end of file
common/widgets/views/busket_modal.php
1 <?php 1 <?php
2 /** 2 /**
3 - * Created by PhpStorm.  
4 - * User: vitaliy  
5 - * Date: 23.03.16  
6 - * Time: 0:25  
7 - */  
8 \ No newline at end of file 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,7 +13,8 @@ class m160321_232402_orders extends Migration
13 } 13 }
14 14
15 $this->createTable('{{%orders}}', [ 15 $this->createTable('{{%orders}}', [
16 - 'id' => $this->primaryKey(), 16 + 'order_id' => $this->primaryKey(),
  17 + 'customer_id' => $this->integer(),
17 'name' => $this->string()->notNull(), 18 'name' => $this->string()->notNull(),
18 'email' => $this->string()->notNull(), 19 'email' => $this->string()->notNull(),
19 'phone' => $this->string(32)->notNull(), 20 'phone' => $this->string(32)->notNull(),
@@ -24,11 +25,25 @@ class m160321_232402_orders extends Migration @@ -24,11 +25,25 @@ class m160321_232402_orders extends Migration
24 'created_at' => $this->integer()->notNull(), 25 'created_at' => $this->integer()->notNull(),
25 'updated_at' => $this->integer()->notNull(), 26 'updated_at' => $this->integer()->notNull(),
26 ], $tableOptions); 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 public function down() 41 public function down()
30 { 42 {
  43 + $this->dropForeignKey('orders_items_fk', '{{%order_items}}');
  44 + $this->dropForeignKey('orders_items_items_fk', '{{%order_items}}');
31 $this->dropTable('{{%orders}}'); 45 $this->dropTable('{{%orders}}');
  46 + $this->dropTable('{{%order_items}}');
32 } 47 }
33 48
34 } 49 }
frontend/controllers/OrdersController.php
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 2
3 namespace frontend\controllers; 3 namespace frontend\controllers;
4 4
  5 +use common\widgets\BasketModal;
5 use Yii; 6 use Yii;
6 7
7 use yii\web\Controller; 8 use yii\web\Controller;
@@ -10,10 +11,21 @@ use yii\data\ArrayDataProvider; @@ -10,10 +11,21 @@ use yii\data\ArrayDataProvider;
10 /** 11 /**
11 * OrderController implements the CRUD actions for Order model. 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 * Lists all Order models. 31 * Lists all Order models.
@@ -105,7 +117,7 @@ class OrderыController extends Controller @@ -105,7 +117,7 @@ class OrderыController extends Controller
105 $array[$data['id']] = $data; 117 $array[$data['id']] = $data;
106 Yii::$app->session->set('order', $array ); 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,6 +4,7 @@
4 /* @var $content string */ 4 /* @var $content string */
5 5
6 6
  7 +use common\widgets\BasketModal;
7 use frontend\assets\AppAsset; 8 use frontend\assets\AppAsset;
8 use yii\helpers\Html; 9 use yii\helpers\Html;
9 use yii\helpers\Url; 10 use yii\helpers\Url;
@@ -79,84 +80,8 @@ AppAsset::register($this); @@ -79,84 +80,8 @@ AppAsset::register($this);
79 <div class="busket_modal_header"><!-- MODAL BUSKET WINDOW(HEAD) START --> 80 <div class="busket_modal_header"><!-- MODAL BUSKET WINDOW(HEAD) START -->
80 <div class="m_a"> 81 <div class="m_a">
81 <div class="busket_modal_02"> 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 </div> 85 </div>
161 </div> 86 </div>
162 </div> 87 </div>
@@ -257,87 +182,9 @@ AppAsset::register($this); @@ -257,87 +182,9 @@ AppAsset::register($this);
257 <div class="m_a"> 182 <div class="m_a">
258 <div class="busket_modal_01"> 183 <div class="busket_modal_01">
259 <div class="modal_close_btn"></div> 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 </div> 187 </div>
340 -  
341 </div> 188 </div>
342 </div> 189 </div>
343 </div> <!-- MODAL BUSKET WINDOW END --> 190 </div> <!-- MODAL BUSKET WINDOW END -->
frontend/views/site/login.php
@@ -19,7 +19,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title; @@ -19,7 +19,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
19 <div class="col-lg-5"> 19 <div class="col-lg-5">
20 <?php $form = ActiveForm::begin(['id' => 'login-form']); ?> 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 <?= $form->field($model, 'password')->passwordInput() ?> 24 <?= $form->field($model, 'password')->passwordInput() ?>
25 25
frontend/web/css/concat_all.css
@@ -2494,7 +2494,7 @@ span.red { @@ -2494,7 +2494,7 @@ span.red {
2494 .busket_modal_wrapper .busket_modal_01 .order_list .count_block .count_buttons { 2494 .busket_modal_wrapper .busket_modal_01 .order_list .count_block .count_buttons {
2495 position: relative; 2495 position: relative;
2496 /*top: 4px;*/ 2496 /*top: 4px;*/
2497 - right: 6px; 2497 + right: 16px;
2498 display: inline-block; 2498 display: inline-block;
2499 vertical-align: bottom; 2499 vertical-align: bottom;
2500 } 2500 }
@@ -2680,7 +2680,7 @@ span.red { @@ -2680,7 +2680,7 @@ span.red {
2680 .busket_modal_header .busket_modal_02 .order_list .count_block .count_buttons { 2680 .busket_modal_header .busket_modal_02 .order_list .count_block .count_buttons {
2681 position: relative; 2681 position: relative;
2682 /*top: 4px;*/ 2682 /*top: 4px;*/
2683 - right: 6px; 2683 + right: 16px;
2684 display: inline-block; 2684 display: inline-block;
2685 vertical-align: bottom; 2685 vertical-align: bottom;
2686 } 2686 }
frontend/web/css/concat_all_back.css
@@ -2492,8 +2492,7 @@ span.red { @@ -2492,8 +2492,7 @@ span.red {
2492 2492
2493 .busket_modal_wrapper .busket_modal_01 .order_list .count_block .count_buttons { 2493 .busket_modal_wrapper .busket_modal_01 .order_list .count_block .count_buttons {
2494 position: relative; 2494 position: relative;
2495 - /*top: 4px;*/  
2496 - right: 6px; 2495 + right: 16px;
2497 display: inline-block; 2496 display: inline-block;
2498 vertical-align: bottom; 2497 vertical-align: bottom;
2499 } 2498 }
frontend/web/css/style.css
@@ -1071,10 +1071,32 @@ input.error_pass{ @@ -1071,10 +1071,32 @@ input.error_pass{
1071 #loginform-rememberme{ 1071 #loginform-rememberme{
1072 display: none; 1072 display: none;
1073 } 1073 }
  1074 +
1074 .field-loginform-rememberme{ 1075 .field-loginform-rememberme{
1075 display: inline; 1076 display: inline;
1076 color: #6aa034; 1077 color: #6aa034;
1077 } 1078 }
  1079 +
1078 .field-loginform-rememberme label:hover{ 1080 .field-loginform-rememberme label:hover{
1079 color: #517a27; 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 \ No newline at end of file 1103 \ No newline at end of file
frontend/web/js/my_scripts.js
@@ -21,10 +21,10 @@ $(document).ready(function(){ @@ -21,10 +21,10 @@ $(document).ready(function(){
21 filter_list.on('click', function(){ 21 filter_list.on('click', function(){
22 $(this).next().slideToggle(300); 22 $(this).next().slideToggle(300);
23 var this_img = $(this).children('img'); 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 } else { 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,46 +85,25 @@ $(document).ready(function(){
85 // arrow left hover 85 // arrow left hover
86 arrow_left.hover( 86 arrow_left.hover(
87 function(){ 87 function(){
88 - $(this).attr('src', 'images/slider_left_hover.png'); 88 + $(this).attr('src', '/images/slider_left_hover.png');
89 }, function(){ 89 }, function(){
90 - $(this).attr('src', 'images/slider_left.png'); 90 + $(this).attr('src', '/images/slider_left.png');
91 }); 91 });
92 92
93 // arrow right hover 93 // arrow right hover
94 arrow_right.hover( 94 arrow_right.hover(
95 function(){ 95 function(){
96 - $(this).attr('src', 'images/slider_right_hover.png'); 96 + $(this).attr('src', '/images/slider_right_hover.png');
97 }, function(){ 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 var open_card_item_price = $('.counter').children('.price'), 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 counter_item_count = $('.counter').find('.count_number'), 103 counter_item_count = $('.counter').find('.count_number'),
106 state_price = 1*($('.counter').children('.price').html()); 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 var basket_order_list = $('.order_list').find('.order_list_li'); 109 var basket_order_list = $('.order_list').find('.order_list_li');
@@ -141,19 +120,19 @@ $(document).ready(function(){ @@ -141,19 +120,19 @@ $(document).ready(function(){
141 basket_each_count = basket_order_list.children('.how_many'); // количество каждого товара 120 basket_each_count = basket_order_list.children('.how_many'); // количество каждого товара
142 // console.log(basket_each_price); 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 // modal widows 138 // modal widows
@@ -293,6 +272,8 @@ $(document).ready(function(){ @@ -293,6 +272,8 @@ $(document).ready(function(){
293 log_wrap.fadeOut(200); 272 log_wrap.fadeOut(200);
294 forgot_pass_wrap.fadeOut(200); 273 forgot_pass_wrap.fadeOut(200);
295 forgot_pass_success_wrap.fadeOut(200); 274 forgot_pass_success_wrap.fadeOut(200);
  275 + forgot_pass_success_wrap.fadeOut(200);
  276 + busket_modal_wrapper.fadeOut(200);
296 callback_wrap.fadeOut(200); 277 callback_wrap.fadeOut(200);
297 }); 278 });
298 $(".close_modal").click(function(){ 279 $(".close_modal").click(function(){
@@ -499,6 +480,68 @@ $(document).ready(function(){ @@ -499,6 +480,68 @@ $(document).ready(function(){
499 all_modal_moves(); 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 \ No newline at end of file 548 \ No newline at end of file