This commit is contained in:
2026-02-05 16:22:55 +03:00
parent 1adbe9591c
commit 3a75beee32
18 changed files with 319 additions and 335 deletions
+17 -52
View File
@@ -24,61 +24,26 @@ class ADiscount
protected static function updateAdditionalDiscountData($id)
{
$depsLoaded = \Bitrix\Main\Loader::includeModule('iblock');
if(!$depsLoaded) {
return;
}
$res_element = \CIBlockElement::GetList(
['SORT' => 'ASC'],
['IBLOCK_ID' => discountApp()->config('DISCOUNT_TYPE_IBLOCK_ID'), 'NAME' => $id],
false,
false,
['ID', 'NAME', 'PROPERTY_TYPE']
);
$res_element_count = $res_element->SelectedRowsCount();
if($res_element_count){
$obElement = $res_element->GetNext();
\CIBlockElement::SetPropertyValuesEx(
$obElement['ID'],
discountApp()->config('DISCOUNT_TYPE_IBLOCK_ID'),
[
'TYPE' => $_POST['PRODUCT_TYPE'],
'MIN_COUNT_PROD' => $_POST['MIN_COUNT_PROD']
]
);
} else {
$el = new \CIBlockElement();
$arTypeField = [
'IBLOCK_ID' => discountApp()->config('DISCOUNT_TYPE_IBLOCK_ID'),
'NAME' => $id,
'PROPERTY_VALUES' => [
'TYPE' => $_POST['PRODUCT_TYPE'],
'MIN_COUNT_PROD' => $_POST['MIN_COUNT_PROD'],
],
];
$el->Add($arTypeField);
}
$discountFactory = discountApp()->factory()->main()->getDiscountFactory();
return $discountFactory->updateOrCreate([
'=DISCOUNT_ID' => $id,
], [
'DISCOUNT_ID' => $id,
'PRODUCT_TYPE' => (string)$_POST['PRODUCT_TYPE'],
'MIN_COUNT_PROD' => (int)$_POST['MIN_COUNT_PROD'],
]);
}
protected static function addAdditionalDiscountData($id)
{
$depsLoaded = \Bitrix\Main\Loader::includeModule('iblock');
if(!$depsLoaded) {
return;
}
$el = new \CIBlockElement();
$arTypeField = [
'IBLOCK_ID' => discountApp()->config('DISCOUNT_TYPE_IBLOCK_ID'),
'NAME' => $id,
'PROPERTY_VALUES' => [
'TYPE' => $_POST['PRODUCT_TYPE'],
'MIN_COUNT_PROD' => $_POST['MIN_COUNT_PROD'],
],
];
$r = $el->Add($arTypeField);
$discountFactory = discountApp()->factory()->main()->getDiscountFactory();
return $discountFactory->updateOrCreate([
'=DISCOUNT_ID' => $id,
], [
'DISCOUNT_ID' => $id,
'PRODUCT_TYPE' => (string)$_POST['PRODUCT_TYPE'],
'MIN_COUNT_PROD' => (int)$_POST['MIN_COUNT_PROD'],
]);
}
/**
@@ -104,7 +69,7 @@ class ADiscount
if(count($arResult) > $counter){
foreach($arResult as $key => $discount){
$discountViewType = Tools::getProductTypeArray($discount['ID']);
$discountViewType = Tools::getDiscountEntity($discount['ID']);
if($discountViewType['PRODUCT_TYPE'] === 'Q'){
unset($arResult[$key]);
}