1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
orderdiscountmanager.php
См. документацию.
1<?php
2namespace Bitrix\Sale;
3
4use Bitrix\Main,
5 Bitrix\Main\Localization\Loc;
6
7Loc::loadMessages(__FILE__);
8
17{
28
37
46
51
63 public static function loadResultFromDatabase($order, $extendedMode = false, $basketList = false, $basketData = array())
64 {
65 if (!is_array($basketList))
66 $basketList = [];
67 if (!is_array($basketData))
68 $basketData = [];
69 $result = parent::loadResultFromDb($order, $basketList, $basketData);
70
71 /* for compatibility only */
72 $data = $result->getData();
73
74 $data['BASKET'] = [];
75 $data['ORDER'] = [];
76 $data['DISCOUNT_MODULES'] = [];
77 $data['DATA'] = [];
78 if (isset($data['APPLY_BLOCKS'][0]))
79 {
80 $data['BASKET'] = $data['APPLY_BLOCKS'][0]['BASKET'];
81 $data['ORDER'] = $data['APPLY_BLOCKS'][0]['ORDER'];
82 }
83 if (!empty($data['DISCOUNT_LIST']))
84 {
85 foreach (array_keys($data['DISCOUNT_LIST']) as $index)
86 {
87 if (empty($data['DISCOUNT_LIST'][$index]['MODULES']))
88 continue;
89 $data['DISCOUNT_MODULES'][$index] = $data['DISCOUNT_LIST'][$index]['MODULES'];
90 }
91 unset($index);
92 }
93 $data['DATA']['STORED_ACTION_DATA'] = $data['STORED_ACTION_DATA'];
94 unset($data['STORED_ACTION_DATA']);
95
96 $result->setData($data);
97
98 return $result;
99 }
100
111 public static function prepareDiscountDescription($type, $data)
112 {
113 $result = new Result();
114
115 $config = static::getManagerConfig();
116
117 $type = (int)$type;
118 switch ($type)
119 {
121 if (!is_array($data))
122 $data = array();
123 if (!isset($data['LIMIT_UNIT']) && isset($config['CURRENCY']))
124 $data['LIMIT_UNIT'] = $config['CURRENCY'];
125 if (!isset($data['VALUE_UNIT']) && isset($config['CURRENCY']))
126 $data['VALUE_UNIT'] = $config['CURRENCY'];
127 break;
131 if (!is_array($data))
132 $data = array();
133 if (!isset($data['VALUE_UNIT']) && isset($config['CURRENCY']))
134 $data['VALUE_UNIT'] = $config['CURRENCY'];
135 break;
136 }
137
139 if ($description !== null)
140 {
141 $result->setData($description);
142 }
143 else
144 {
145 self::transferFormatterErrors($result);
146 }
147
148 return $result;
149 }
150
160 public static function formatDiscountDescription($data)
161 {
162 $result = new Result();
163
164 if (!is_array($data))
165 $data = array();
166
168 if ($description !== null)
169 {
170 $result->setData(array('DESCRIPTION' => $description));
171 }
172 else
173 {
174 self::transferFormatterErrors($result);
175 }
176
177 return $result;
178 }
179
189 public static function formatDescription($data)
190 {
191 $result = false;
192 if (!is_array($data))
193 $data = array();
195 if ($description !== null)
197
198 return $result;
199 }
200
210 public static function formatArrayDescription($data)
211 {
212 $result = array();
213 if (!empty($data) && is_array($data))
214 {
216 if ($description !== null)
218 }
219
220 return (empty($result) ? false: $result);
221 }
222
234 public static function createSimpleDescription($newPrice, $oldPrice, $currency)
235 {
237 }
238
248 protected static function getBasketCodeByRule(array $rule, $translate, $basketList)
249 {
250 $translate = ($translate === true);
251 $index = '';
252 if ($translate)
253 {
254 if (is_array($basketList) && isset($basketList[$rule['ENTITY_ID']]))
255 $index = $basketList[$rule['ENTITY_ID']];
256 }
257 else
258 {
259 $index = $rule['ENTITY_ID'];
260 }
261 return $index;
262 }
263
270 private static function transferFormatterErrors(Result $result)
271 {
274 $result->addWarning(new Main\Error(
275 implode('. ', $errors),
276 self::ERROR_ID
277 ));
278 }
279}
$type
Определения options.php:106
Определения error.php:15
static prepareRow($type, $data)
Определения formatter.php:38
const VALUE_ACTION_EXTRA
Определения formatter.php:23
static getErrors()
Определения formatter.php:382
const TYPE_MAX_BOUND
Определения formatter.php:14
const TYPE_VALUE
Определения formatter.php:11
const VALUE_ACTION_DISCOUNT
Определения formatter.php:22
const TYPE_LIMIT_VALUE
Определения formatter.php:12
const LIMIT_MIN
Определения formatter.php:27
static formatList(array $actionList)
Определения formatter.php:347
const VALUE_TYPE_SUMM
Определения formatter.php:19
const VALUE_ACTION_CUMULATIVE
Определения formatter.php:24
const LIMIT_MAX
Определения formatter.php:26
const VALUE_TYPE_SUMM_BASKET
Определения formatter.php:20
const TYPE_FIXED
Определения formatter.php:13
static clearErrors()
Определения formatter.php:372
const TYPE_SIMPLE
Определения formatter.php:10
const VALUE_TYPE_CURRENCY
Определения formatter.php:18
static formatRow(array $action)
Определения formatter.php:230
const VALUE_TYPE_PERCENT
Определения formatter.php:17
static createResultDescription($newPrice, $oldPrice, $currency)
Определения compatibleformat.php:19
static formatDiscountDescription($data)
Определения orderdiscountmanager.php:160
static createSimpleDescription($newPrice, $oldPrice, $currency)
Определения orderdiscountmanager.php:234
static prepareDiscountDescription($type, $data)
Определения orderdiscountmanager.php:111
static loadResultFromDatabase($order, $extendedMode=false, $basketList=false, $basketData=array())
Определения orderdiscountmanager.php:63
static getBasketCodeByRule(array $rule, $translate, $basketList)
Определения orderdiscountmanager.php:248
static formatDescription($data)
Определения orderdiscountmanager.php:189
static formatArrayDescription($data)
Определения orderdiscountmanager.php:210
$data['IS_AVAILABLE']
Определения .description.php:13
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$result
Определения get_property_values.php:14
if(Loader::includeModule( 'bitrix24')) elseif(Loader::includeModule('intranet') &&CIntranetUtils::getPortalZone() !=='ru') $description
Определения .description.php:24
$errors
Определения iblock_catalog_edit.php:74
$order
Определения payment.php:8
$config
Определения quickway.php:69
$currency
Определения template.php:266