diff --git a/src/app/frontend/controllers/AjaxController.php b/src/app/frontend/controllers/AjaxController.php index 0a71231..017d2cf 100644 --- a/src/app/frontend/controllers/AjaxController.php +++ b/src/app/frontend/controllers/AjaxController.php @@ -27,11 +27,21 @@ class AjaxController extends \controllers\ControllerBase { $items_ids = $this->common->array_column( $items_, 'item_id' ); + //discount + $discount = $this->models->getDiscount()->getActiveData(); + $discount = $this->models->getDiscount()->explodeGroupIds($discount); + $discount = $discount[0]; + $items = $this->models->getItems()->getItemsByIds( $this->lang_id, $items_ids ); foreach( $items as &$i ) { + $i['cover'] = !empty( $i['group_cover'] ) ? $this->storage->getPhotoUrl( $i['group_cover'], 'avatar', '200x' ) : '/images/packet.jpg'; $i['alias'] = $this->seoUrl->setUrl($this->url->get([ 'for' => 'item', 'subtype' => $i['catalog_alias'], 'group_alias' => $i['group_alias'], 'item_id' => $i['id'] ])); + + if ($discount['discount'] > 0 && $discount['discount'] <= 100 && in_array($i['id'], $discount['group_ids'])) { + $i['discounted_price'] = round($i['price2']*(1-$discount['discount']/100), 1); + } } } diff --git a/src/lib/models/discount.php b/src/lib/models/discount.php index 86a00d0..e807b48 100644 --- a/src/lib/models/discount.php +++ b/src/lib/models/discount.php @@ -14,7 +14,7 @@ class discount extends \db /** * Get all discounts - * @return array + * @return array */ public function getAllData() { @@ -34,8 +34,8 @@ class discount extends \db /** * Get discount - * @param $id - * @return array + * @param int $id + * @return array */ public function getOneData($id) { @@ -55,8 +55,8 @@ class discount extends \db /** * Get discount indication status - * @param $id - * @return array + * @param int $id + * @return array */ public function getStatus($id) { @@ -80,7 +80,7 @@ class discount extends \db /** * Get actual discount - * @return array + * @return array */ public function getActiveData() { @@ -106,8 +106,8 @@ class discount extends \db /** * Delete discount - * @param $id - * @return bool + * @param int $id + * @return bool */ public function deleteData($id) { @@ -126,8 +126,8 @@ class discount extends \db /** * Add new discount - * @param $data - * @return array + * @param array $data + * @return array */ public function addData($data) { @@ -174,9 +174,9 @@ class discount extends \db /** * Update discount - * @param $data - * @param $id - * @return bool + * @param array $data + * @param int $id + * @return bool */ public function updateData($data, $id) { @@ -212,9 +212,9 @@ class discount extends \db /** * Switch status indicator - * @param bool $status - * @param $id - * @return bool + * @param bool $status + * @param $id + * @return bool */ public function updateStatus($status, $id) { @@ -237,7 +237,7 @@ class discount extends \db /** * Count all discounts - * @return array + * @return array */ public function countData() { @@ -255,6 +255,11 @@ class discount extends \db ); } + /** + * Convert group_ids format to array + * @param array $discounts_array + * @return array + */ public static function explodeGroupIds($discounts_array) { foreach ($discounts_array as &$discount) { diff --git a/www/js/main.js b/www/js/main.js index a172837..4f9d1e3 100644 --- a/www/js/main.js +++ b/www/js/main.js @@ -2073,8 +2073,18 @@ $(document).ready(function() html += '
  • '+ ''+data[i]['title']+''+ - ''+data[i]['title']+''+ - '

    ціна від '+data[i]['price2']+' грн

    '+ + ''+data[i]['title']+''; + if (data[i]['discounted_price'] !== '') { + html += + '

    '+data[i]['price2']+' грн' + + ''+data[i]['discounted_price']+' грн'+ + '

    '; + } + else { + html += '

    ціна від '+data[i]['price2']+' грн

    '; + } + html += '
  • '; } diff --git a/www/js/main.min.js b/www/js/main.min.js index e740ef4..8e2f33d 100644 --- a/www/js/main.min.js +++ b/www/js/main.min.js @@ -1,2 +1,2 @@ function dialogue(e,t){e=$("
    ",{class:"dialogue clearfix"}).append(e),$.iLightBox([{URL:e,type:"html",title:t?t:null}],{skin:"light ilightbox-dialogue",minScale:1,innerToolbar:!0,overlay:{blur:!1},controls:{fullscreen:!1},callback:{onRender:function(e){$(".btn",e.currentElement).click(function(){$(".btn",e.currentElement).unbind("click"),e.hide()})},onShow:function(e){$(".btn-primary",e.currentElement).focus()}}})}function videoConfirm(e){var t=$("
    ",{html:''}),a=$("
    ',h='
    Оптовий Склад

    м.Київ, вул.Віскозна 17/а

    (044)454 12 15,
    зворотній зв\'язок
    ',f=new google.maps.InfoWindow({content:_}),v=new google.maps.InfoWindow({content:h});google.maps.event.addListener(u,"click",function(){f.open(d,u)}),google.maps.event.addListener(m,"click",function(){v.open(p,m)})}function a(e,t){var a=e.offset().left,i=40,n=a+i,s=t.offset().left,o=40,l=s+o;return!(nl)}function i(){var e=$("span[id=total_price_basket]").html();e>100?$(".min_price_message").css("display","none"):$(".min_price_message").css("display","block")}function n(e,t){e=$("
    ",{class:"dialogue clearfix"}).append(e),$.iLightBox([{URL:e,type:"html",title:t?t:null}],{skin:"light ilightbox-dialogue",minScale:1,innerToolbar:!0,overlay:{blur:!1},controls:{fullscreen:!1},callback:{onRender:function(e){$(".btn",e.currentElement).click(function(){$(".btn",e.currentElement).unbind("click"),e.hide()})},onShow:function(e){$(".btn-primary",e.currentElement).focus()}}})}function s(e){var t=$("
    ",{html:''}),a=$("