Add
int CSaleDiscount::Add( array arFields );
Метод добавляет новую скидку на сумму заказа с параметрами из массива arFields. Статический метод.
Параметры вызова
| Параметр | Описание |
|---|---|
| arFields |
Ассоциативный массив параметров скидки, ключами в котором являются названия параметров скидки, а значениями - значения параметров. Допустимые ключи:
Блок купонов: |
Возвращаемые значения
Возвращается код добавленной скидки или false в случае ошибки.
Примеры
Создание правила корзины, которое применяет скидку 10% при сумме товаров в корзине от 5000 рублей:
\Bitrix\Main\Loader::includeModule('sale');
global $APPLICATION;
$fields = [
'LID' => 's1',
'NAME' => 'Скидка 10% при заказе от 5000',
'ACTIVE' => 'Y',
'SORT' => 100,
'PRIORITY' => 1,
'LAST_DISCOUNT' => 'N',
'LAST_LEVEL_DISCOUNT' => 'N',
'USER_GROUPS' => [2],
'CURRENCY' => 'RUB',
'CONDITIONS' => [
'CLASS_ID' => 'CondGroup',
'DATA' => [
'All' => 'AND',
'True' => 'True',
],
'CHILDREN' => [
[
'CLASS_ID' => 'CondBsktAmtGroup',
'DATA' => [
'logic' => 'EqGr',
'Value' => 5000,
'All' => 'AND',
],
'CHILDREN' => [],
],
],
],
'ACTIONS' => [
'CLASS_ID' => 'CondGroup',
'DATA' => [
'All' => 'AND',
],
'CHILDREN' => [
[
'CLASS_ID' => 'ActSaleBsktGrp',
'DATA' => [
'Type' => 'Discount',
'Value' => 10,
'Unit' => 'Perc',
'Max' => 0,
'All' => 'AND',
'True' => 'True',
],
'CHILDREN' => [],
],
],
],
];
$discountId = CSaleDiscount::Add($fields);
if (!$discountId)
{
$exception = $APPLICATION->GetException();
echo $exception ? $exception->GetString() : 'Не удалось создать правило корзины';
}
В поле CONDITIONS передается дерево условий применения правила. В примере корневой узел CondGroup объединяет условия по AND, а дочерний узел CondBsktAmtGroup проверяет сумму товаров в корзине.
Значение logic => EqGr означает «больше или равно», Value => 5000 — минимальную сумму корзины.
В поле ACTIONS передается дерево действий правила. В примере корневой узел CondGroup содержит действие ActSaleBsktGrp, которое применяет скидку к корзине.
Значение Type => Discount задает действие скидки, Value => 10 — размер скидки, Unit => Perc — процентный тип значения.
Ключи CLASS_ID, DATA и CHILDREN обязательны для узлов дерева условий и действий. В CHILDREN передается массив дочерних условий или действий; если дочерних узлов нет, передается пустой массив.
Пользовательские комментарии
Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
|
dapweb
| ||
|
Создание скидки на один или несколько товаров.
****** Комментарий от разработчика: не вполне корректный пример, группы надо сразу передавать. | ||
|
Дима Парфенов
| ||
|
В моем случае стояла задача -> 1 товар = 1 правило для корзины
| ||