В интернет магазине в правилах работы с корзиной создал скидку (если общая стоимость товаров >= 5000 руб., то скидка 5%).
Оформил заказ, скидка сработала и отображается в заказе.
Не понимаю как получить процент скидки программно.
Получаю заказ по id, получаю его скидки и вижу что скидка хранится в DISCOUNT_LIST => 4 => ACTIONS_DESCR_DATA => BASKET => 0 => VALUE, но мне не кажется разумным смотреть таким образом скидку.
содержимое $res
пробую сделать аналогично, но при этом еще и получить скидку по id
в итоге получаю, что DISCOUNT_VALUE = "0.00"
содержимое $asdas
Прошу подсказать как можно получить размер скидки на заказ (процент из сработавшего правила работы с корзиной) по заказу.
Оформил заказ, скидка сработала и отображается в заказе.
Не понимаю как получить процент скидки программно.
Получаю заказ по id, получаю его скидки и вижу что скидка хранится в DISCOUNT_LIST => 4 => ACTIONS_DESCR_DATA => BASKET => 0 => VALUE, но мне не кажется разумным смотреть таким образом скидку.
Код |
---|
$orderObj = Sale\Order::load($ar_orders['ID']); $discounts = $orderObj->getDiscount(); $res = $discounts->getApplyResult(true); |
содержимое $res
Код |
---|
result = {array} [8] DELIVERY_LIST = {array} [0] SHIPMENT_LIST = {array} [1] DISCOUNT_LIST = {array} [1] 4 = {array} [10] ID = {int} 4 NAME = "Скидка на заказ от 5000 руб. (5%)" MODULE_ID = "sale" DISCOUNT_ID = {int} 4 REAL_DISCOUNT_ID = "2" USE_COUPONS = "N" ACTIONS_DESCR = {array} [1] BASKET = "скидка 5%" ACTIONS_DESCR_DATA = {array} [1] BASKET = {array} [1] 0 = {array} [4] TYPE = {int} 2 VALUE = {float} 5.0 VALUE_TYPE = "P" VALUE_ACTION = "D" APPLY = "Y" EDIT_PAGE_URL = "/bitrix/admin/sale_discount_edit.php?lang=ru&ID=2" COUPON_LIST = {array} [0] PRICES = {array} [2] RESULT = {array} [2] FULL_DISCOUNT_LIST = {array} [0] CONVERTED_ORDER = "N" |
пробую сделать аналогично, но при этом еще и получить скидку по id
Код |
---|
$asdas = CSaleDiscount::GetByID(2); // 2 - id скидки, его получал выше из DISCOUNT_LIST => 4 => REAL_DISCOUNT_ID |
содержимое $asdas
Код |
---|
result = {array} [25] ID = "2" XML_ID = "discount_5" LID = "s1" SITE_ID = "s1" NAME = "Скидка на заказ от 5000 руб. (5%)" PRICE_FROM = null PRICE_TO = null CURRENCY = "RUB" DISCOUNT_VALUE = "0.00" DISCOUNT_TYPE = "P" ACTIVE = "Y" SORT = "100" ACTIVE_FROM = null ACTIVE_TO = null TIMESTAMP_X = "16.07.2019 13:00:35" MODIFIED_BY = "1" DATE_CREATE = "11.07.2019 19:08:26" CREATED_BY = "1" PRIORITY = "2" LAST_DISCOUNT = "Y" VERSION = "3" CONDITIONS = "a:3:{s:8:"CLASS_ID";s:9:"CondGroup";s:4:"DATA";a:2:{s:3:"All";s:3:"AND";s:4:"True";s:4:"True";}s:8:"CHILDREN";a:1:{i:0;a:3:{s:8:"CLASS_ID";s:16:"CondBsktAmtGroup";s:4:"DATA";a:3:{s:5:"logic";s:4:"EqGr";s:5:"Value";d:5000;s:3:"All";s:3:"AND";}s:8:"CHILDREN";a:0:{}}}}" UNPACK = "function($arOrder){return (((CSaleBasketFilter::AmountFilter($arOrder, "") >= 5000))); };" APPLICATION = "function (&$arOrder){\Bitrix\Sale\Discount\Actions::applyToBasket($arOrder, array (\n 'VALUE' => -7,\n 'UNIT' => 'P',\n 'LIMIT_VALUE' => 0,\n), "");};" ACTIONS = "a:3:{s:8:"CLASS_ID";s:9:"CondGroup";s:4:"DATA";a:1:{s:3:"All";s:3:"AND";}s:8:"CHILDREN";a:1:{i:0;a:3:{s:8:"CLASS_ID";s:14:"ActSaleBsktGrp";s:4:"DATA";a:6:{s:4:"Type";s:8:"Discount";s:5:"Value";d:7;s:4:"Unit";s:4:"Perc";s:3:"Max";i:0;s:3:"All";s:3:"AND";s:4:"True";s:4:"True";}s:8:"CHILDREN";a:0:{}}}}" |
Прошу подсказать как можно получить размер скидки на заказ (процент из сработавшего правила работы с корзиной) по заказу.