Commit d83337900d5f303ebb1dbf5932d9f650e16abd0c
Merge branch 'vip' into 'master'
Vip => master vip => master See merge request !6
Showing
6 changed files
with
56 additions
and
8 deletions
Show diff stats
src/app/frontend/controllers/MenuController.php
| ... | ... | @@ -411,6 +411,15 @@ class MenuController extends \controllers\ControllerBase |
| 411 | 411 | $special_user = $this->models->getSpecialUsers()->getOneData($special_users_id)[0]; |
| 412 | 412 | } |
| 413 | 413 | |
| 414 | + //vip | |
| 415 | + $users_group_id = $this->session->get('users_group_id'); | |
| 416 | + if (isset($users_group_id) && $users_group_id == 37) { | |
| 417 | + if ($this->common->applyDiscount(5, $cart_items['items'])) { | |
| 418 | + $this->common->countOrderSum($cart_items); | |
| 419 | + $cart_items['total_price'] = $cart_items['total_sum']; | |
| 420 | + } | |
| 421 | + } | |
| 422 | + | |
| 414 | 423 | //discount |
| 415 | 424 | |
| 416 | 425 | $discount = $this->models->getDiscount()->getActiveData(); | ... | ... |
src/app/frontend/controllers/PageController.php
| ... | ... | @@ -438,6 +438,7 @@ |
| 438 | 438 | '2' => (isset( $seo['description'] ) && !empty( $seo['description'] ) ? $seo['description'] : 'Заказать '.$catalog['catalog']['title'].' в Киеве по лучшей цене. Качество товара подтверждена профессионалами.').(isset( $page ) && !empty( $page ) && $page != '1' ? ' страница '.$page : '') |
| 439 | 439 | ]; |
| 440 | 440 | |
| 441 | + //discount | |
| 441 | 442 | $discount = $this->models->getDiscount()->getActiveData(); |
| 442 | 443 | if (!empty($discount)) { |
| 443 | 444 | $discount = $discount[0]; |
| ... | ... | @@ -445,6 +446,8 @@ |
| 445 | 446 | $discount['group_ids'] = str_replace('}', '', $discount['group_ids']); |
| 446 | 447 | $discount['group_ids'] = explode(',', $discount['group_ids']); |
| 447 | 448 | } |
| 449 | + //vip | |
| 450 | + $users_group_id = $this->session->get('users_group_id'); | |
| 448 | 451 | |
| 449 | 452 | if($subtype==='semena_gazonnykh_trav_1c_21') |
| 450 | 453 | $this->view->setMainView('landing'); |
| ... | ... | @@ -479,7 +482,8 @@ |
| 479 | 482 | 'catalog_sales' => $catalog_sales, |
| 480 | 483 | 'css' => $cssSale, |
| 481 | 484 | 'js' => $jsSale, |
| 482 | - 'discount' => $discount | |
| 485 | + 'discount' => $discount, | |
| 486 | + 'users_group_id' => $users_group_id | |
| 483 | 487 | ]); |
| 484 | 488 | } |
| 485 | 489 | else |
| ... | ... | @@ -708,6 +712,7 @@ |
| 708 | 712 | } |
| 709 | 713 | } |
| 710 | 714 | |
| 715 | + //discount | |
| 711 | 716 | $discount = $this->models->getDiscount()->getActiveData(); |
| 712 | 717 | if (!empty($discount)) { |
| 713 | 718 | $discount = $discount[0]; |
| ... | ... | @@ -715,6 +720,8 @@ |
| 715 | 720 | $discount['group_ids'] = str_replace('}', '', $discount['group_ids']); |
| 716 | 721 | $discount['group_ids'] = explode(',', $discount['group_ids']); |
| 717 | 722 | } |
| 723 | + //vip | |
| 724 | + $users_group_id = $this->session->get('users_group_id'); | |
| 718 | 725 | |
| 719 | 726 | $cssSale = [ |
| 720 | 727 | 'https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic', |
| ... | ... | @@ -758,7 +765,8 @@ |
| 758 | 765 | 'catalog_sales' => $catalog_sales, |
| 759 | 766 | 'css' => $cssSale, |
| 760 | 767 | 'js' => $jsSale, |
| 761 | - 'discount' => $discount | |
| 768 | + 'discount' => $discount, | |
| 769 | + 'users_group_id' => $users_group_id | |
| 762 | 770 | ]); |
| 763 | 771 | } |
| 764 | 772 | |
| ... | ... | @@ -924,6 +932,7 @@ |
| 924 | 932 | '2' => isset($seo['description']) && !empty($seo['description']) ? $seo['description'] : 'Профессионалы рекомендуют ' . $catalog_name . ' ' . $item['0']['title'] . ' в интернет магазине семян Semena.in.ua.' |
| 925 | 933 | ]; |
| 926 | 934 | |
| 935 | + //discount | |
| 927 | 936 | $discount = $this->models->getDiscount()->getActiveData(); |
| 928 | 937 | if (!empty($discount)) { |
| 929 | 938 | $discount = $discount[0]; |
| ... | ... | @@ -931,6 +940,8 @@ |
| 931 | 940 | $discount['group_ids'] = str_replace('}', '', $discount['group_ids']); |
| 932 | 941 | $discount['group_ids'] = explode(',', $discount['group_ids']); |
| 933 | 942 | } |
| 943 | + //vip | |
| 944 | + $users_group_id = $this->session->get('users_group_id'); | |
| 934 | 945 | |
| 935 | 946 | $this->view->setVars([ |
| 936 | 947 | 'change_lang_url' => $lang_url, |
| ... | ... | @@ -953,7 +964,8 @@ |
| 953 | 964 | 'catalog_id' => $catalog_id, |
| 954 | 965 | 'type_alias' => $type_alias, |
| 955 | 966 | 'subtype_alias' => $subtype_alias, |
| 956 | - 'discount' => $discount | |
| 967 | + 'discount' => $discount, | |
| 968 | + 'users_group_id' => $users_group_id | |
| 957 | 969 | ]); |
| 958 | 970 | } |
| 959 | 971 | else |
| ... | ... | @@ -1110,6 +1122,7 @@ |
| 1110 | 1122 | ]); |
| 1111 | 1123 | } |
| 1112 | 1124 | |
| 1125 | + //discount | |
| 1113 | 1126 | $discount = $this->models->getDiscount()->getActiveData(); |
| 1114 | 1127 | if (!empty($discount)) { |
| 1115 | 1128 | $discount = $discount[0]; |
| ... | ... | @@ -1125,11 +1138,14 @@ |
| 1125 | 1138 | } else { |
| 1126 | 1139 | $discount = 0; |
| 1127 | 1140 | } |
| 1141 | + //vip | |
| 1142 | + $users_group_id = $this->session->get('users_group_id'); | |
| 1128 | 1143 | |
| 1129 | 1144 | $this->view->pick('page/changeWithSize'); |
| 1130 | 1145 | $this->view->setVars([ |
| 1131 | - 'item' => $item['0'], | |
| 1132 | - 'discount' => $discount | |
| 1146 | + 'item' => $item['0'], | |
| 1147 | + 'discount' => $discount, | |
| 1148 | + 'users_group_id' => $users_group_id | |
| 1133 | 1149 | ]); |
| 1134 | 1150 | $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); |
| 1135 | 1151 | } | ... | ... |
src/app/frontend/views/page/changeWithSize.php
| 1 | 1 | <?php |
| 2 | + | |
| 2 | 3 | if(isset($special_user)) { |
| 3 | 4 | $data['price'] = number_format(isset($item['prices'][$special_user['status']]) |
| 4 | 5 | ? $item['prices'][$special_user['status']] |
| ... | ... | @@ -6,6 +7,13 @@ if(isset($special_user)) { |
| 6 | 7 | } else { |
| 7 | 8 | $data['price'] = $item['price2']; |
| 8 | 9 | } |
| 10 | + | |
| 11 | +//vip | |
| 12 | +if (isset($users_group_id) && $users_group_id == 37) { | |
| 13 | + $data['price'] = round($data['price']*0.95, 1); | |
| 14 | +} | |
| 15 | + | |
| 16 | +//discount | |
| 9 | 17 | $old_price = $data['price']; |
| 10 | 18 | $data['price'] = $data['price']*(1-$discount/100); |
| 11 | 19 | $data['price'] = number_format($data['price'], 2, '.', ' '); | ... | ... |
src/app/frontend/views/page/item.php
| ... | ... | @@ -203,20 +203,23 @@ |
| 203 | 203 | <ul> |
| 204 | 204 | <li> |
| 205 | 205 | <?php |
| 206 | + //vip | |
| 207 | + if (isset($users_group_id) && $users_group_id == 37) { | |
| 208 | + $item['price2'] = round($item['price2']*0.95, 1); | |
| 209 | + } | |
| 206 | 210 | // скидка |
| 207 | 211 | if (!empty($discount)) { |
| 208 | 212 | if (isset($discount) && $discount['discount'] > 0 && $discount['discount'] <= 100 && in_array($item['id'], $discount['group_ids'])) { |
| 209 | 213 | echo '<span itemprop="price">'.number_format($item['price2']*(1-$discount['discount']/100), 2, '.', ' ').'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>'; |
| 210 | 214 | } |
| 211 | 215 | else { |
| 212 | - //echo '<span itemprop="price">'.number_format($item['price2'], 2, '.', ' ').'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>'; | |
| 216 | + echo '<span itemprop="price">'.number_format($item['price2'], 2, '.', ' ').'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>'; | |
| 213 | 217 | } |
| 214 | 218 | } |
| 215 | 219 | else { |
| 216 | 220 | echo '<span itemprop="price">'.number_format($item['price2'], 2, '.', ' ').'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>'; |
| 217 | 221 | } |
| 218 | 222 | ?> |
| 219 | - <!--<span itemprop="price"><?//= number_format($item['price2'], 2, '.', ' '); ?></span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>--> | |
| 220 | 223 | <div style="display: none" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> |
| 221 | 224 | <span itemprop="ratingValue">5</span> |
| 222 | 225 | <span itemprop="reviewCount">31</span> | ... | ... |
src/app/frontend/views/partial/item_group.php
src/lib/common.php
| ... | ... | @@ -1335,6 +1335,18 @@ namespace |
| 1335 | 1335 | public function parseArray($str) { |
| 1336 | 1336 | return explode(',', preg_replace('[{|}]', '' , $str)); |
| 1337 | 1337 | } |
| 1338 | + | |
| 1339 | + public function applyDiscount($discount_value, &$items) { | |
| 1340 | + if (empty($discount_value) || $discount_value < 0 || $discount_value > 100) { | |
| 1341 | + return false; | |
| 1342 | + } | |
| 1343 | + foreach($items as $k => $item) { | |
| 1344 | + $items[$k]['price2'] = number_format($item['price2'] - ($item['price2'] * $discount_value / 100), 1, '.', ''); | |
| 1345 | + $items[$k]['total_price'] = number_format($items[$k]['price2'] * $item['count'], 1, '.', ''); | |
| 1346 | + } | |
| 1347 | + return true; | |
| 1348 | + } | |
| 1349 | + | |
| 1338 | 1350 | } |
| 1339 | 1351 | } |
| 1340 | 1352 | ... | ... |