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,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->params['breadcrumbs'][] = $this->title; | @@ -19,7 +19,7 @@ $this->params['breadcrumbs'][] = $this->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 |