
1С-Битрикс
- 15 ответов
- 0 вопросов
3
Вклад в тег
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Site.ru: <?$APPLICATION->ShowTitle()?></title>
<?$APPLICATION->ShowMeta("keywords")?>
<?$APPLICATION->ShowMeta("description")?>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<?$APPLICATION->ShowCSS();?>
<?$APPLICATION->ShowHead()?>
</head>
<body>
<?$APPLICATION->ShowPanel();?>
AddEventHandler("catalog", "OnStoreProductUpdate", ["StoreProduct", "update"]);
AddEventHandler("catalog", "OnStoreProductAdd", ["StoreProduct", "update"]);
AddEventHandler("catalog", "OnBeforeStoreProductDelete", ["StoreProduct", "delete"]);
class StoreProduct
{
public static function update($id, $arFields)
{
$allAmountProduct = 0;
$obStoreProduct
= \Bitrix\Catalog\StoreProductTable::GetList(['filter' => ['PRODUCT_ID' => $arFields['PRODUCT_ID']]]);
while ($arStoreProduct = $obStoreProduct->Fetch()) {
if(($id == 0 && $arFields['STORE_ID'] != $arStoreProduct['STORE_ID']) or $id > 0) {
$allAmountProduct = $allAmountProduct + $arStoreProduct['AMOUNT'];
}
}
$arFieldsProduct = array(
"QUANTITY" => $allAmountProduct,
);
\Bitrix\Catalog\Model\Product::update($arFields['PRODUCT_ID'], $arFieldsProduct);
}
public static function delete($id)
{
$arFields = \Bitrix\Catalog\StoreProductTable::getRowById($id);
if ($arFields != null) {
self::Update(0, $arFields);
}
}
}